Finished reimplementing the Sigil of Holding
Probably missed a few System.out messages for testing, but ah well.
This commit is contained in:
parent
b7e06f23bf
commit
3d51f61915
|
@ -1,5 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/BloodMagic3"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<mapAttribute key="org.eclipse.debug.core.environmentVariables">
|
||||
<mapEntry key="FORGE_GROUP" value="net.minecraftforge"/>
|
||||
<mapEntry key="FORGE_VERSION" value="35.1.37"/>
|
||||
|
@ -9,9 +15,11 @@
|
|||
<mapEntry key="MOD_CLASSES" value="bloodmagic%%C:\Users\Scott\Desktop\BloodMagic3\bin\main;bloodmagic%%C:\Users\Scott\Desktop\BloodMagic3\bin\main"/>
|
||||
<mapEntry key="target" value="fmluserdevserver"/>
|
||||
</mapAttribute>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.buildship.core.classpathprovider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="net.minecraftforge.userdev.LaunchTesting"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value=""/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="BloodMagic3"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="BloodMagic3"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dforge.logging.console.level=debug -Dmixin.env.disableRefMap=true -Dforge.logging.markers=SCAN,REGISTRIES,REGISTRYDUMP"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="C:\Users\Scott\Desktop\BloodMagic3\run"/>
|
||||
|
|
|
@ -58,7 +58,7 @@ e6d9cf699667aaa47efff37b2b033895dee29c15 assets/bloodmagic/blockstates/waterritu
|
|||
42f26f715bddd16c069f9b51e3767b36477c8908 assets/bloodmagic/blockstates/woodtilepath.json
|
||||
3c6ce233dae6c1307d9016406c324bbe844b4e1e assets/bloodmagic/blockstates/wornstonebrickpath.json
|
||||
d59655f12d1724b73b77c373fb6864fcff69db12 assets/bloodmagic/blockstates/wornstonetilepath.json
|
||||
53c238d0ba2c0f02bc268f69e8040a0f0a4418ef assets/bloodmagic/lang/en_us.json
|
||||
6018c5727249da4191f055bc7be11a67af18513b assets/bloodmagic/lang/en_us.json
|
||||
34445195b9f2459475cde53454bc8e37d32865d7 assets/bloodmagic/models/block/accelerationrune.json
|
||||
bcdbccc49d4509571be6988762ab87126275a4c8 assets/bloodmagic/models/block/airritualstone.json
|
||||
adf6c0b1e25451609486dc8c8cfbd9cf0f8c67f4 assets/bloodmagic/models/block/alchemicalreactionchamber.json
|
||||
|
@ -304,6 +304,7 @@ dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/quick_dra
|
|||
df9beacb97275ffaa7f186778d94ad11138dffe3 assets/bloodmagic/models/item/reagentbloodlight.json
|
||||
ba57b2a11a0920e7a4df894c6fbae38bf2a6e0ce assets/bloodmagic/models/item/reagentfastminer.json
|
||||
f9a2fbb703e22dee4ae74daff99249e5f22caa0f assets/bloodmagic/models/item/reagentgrowth.json
|
||||
a0e2480efd5433e9ead1ef87c2b31b0dbbc7ecb6 assets/bloodmagic/models/item/reagentholding.json
|
||||
2f8cfb7f2c9cb3dd62a007c2ec56f585414149d8 assets/bloodmagic/models/item/reagentlava.json
|
||||
2a07dc18d2d8166815c29aa989ccd0093d5d112b assets/bloodmagic/models/item/reagentmagnetism.json
|
||||
7ce18ad9b0de94a3fc5abf03c6726c8cc4cf5524 assets/bloodmagic/models/item/reagentsight.json
|
||||
|
@ -323,6 +324,7 @@ eb098783e91a17d07429d9006fb09bf056350e57 assets/bloodmagic/models/item/sanguiner
|
|||
b6e98c7b1789654fe7ff559e95011c0a28c58bc1 assets/bloodmagic/models/item/seersigil.json
|
||||
cc71421e98ee7ee047a4cfbb6cb69529c2b02d4e assets/bloodmagic/models/item/selfsacrificerune.json
|
||||
7f0256ef2f219d92882e759677399050b0776d64 assets/bloodmagic/models/item/shaped_charge.json
|
||||
6cc73920a09d4d6925154732f4064d8d03590f25 assets/bloodmagic/models/item/sigilofholding.json
|
||||
ea5747638d0b5dcc03f008b202cc60a11e0827bb assets/bloodmagic/models/item/sigilofmagnetism.json
|
||||
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/silk_touch_anointment.json
|
||||
08bee690d5092e3c9e6c04c43f50af668fdb3b7e assets/bloodmagic/models/item/slate_vial.json
|
||||
|
@ -554,6 +556,7 @@ eb8f2ef0c592ba022190d727eec69d73b7437bac data/bloodmagic/recipes/alchemytable/re
|
|||
47a4511054bd10454302a6b41eecfac942d27864 data/bloodmagic/recipes/alchemytable/reagent_blood_light.json
|
||||
e50bf64f33ac29e704f553ef465c2631c1857777 data/bloodmagic/recipes/alchemytable/reagent_fastminer.json
|
||||
00d41617bb2e67cdfcfcd87c3bb931726bd37e13 data/bloodmagic/recipes/alchemytable/reagent_growth.json
|
||||
2c613ba6d23fb3a133963e48134893ac7e404042 data/bloodmagic/recipes/alchemytable/reagent_holding.json
|
||||
e06d24e618d3f2f17cb34a79ac630bd81c85dc45 data/bloodmagic/recipes/alchemytable/reagent_lava.json
|
||||
41969af0a92baece82c53a779f2e71aec71fe0cb data/bloodmagic/recipes/alchemytable/reagent_magnetism.json
|
||||
cb5b17173d9f6b7dad40a59aa920f47601e1304e data/bloodmagic/recipes/alchemytable/reagent_sight.json
|
||||
|
@ -616,6 +619,7 @@ f6b6c72c0a2d6b3e602976f0dd2dfa778be41777 data/bloodmagic/recipes/array/bounce.js
|
|||
4bd220ced486f1d8fc4468ebd61dac755670d716 data/bloodmagic/recipes/array/fastminersigil.json
|
||||
d9ae32c70d4bd872f22229006ad3c8e0cf7e3721 data/bloodmagic/recipes/array/grove.json
|
||||
f191a3c9982b827b0b2ba93164a81fc4f8cb0959 data/bloodmagic/recipes/array/growthsigil.json
|
||||
4452b681c328ed01ec680b6b68cb2a0aee11ed3d data/bloodmagic/recipes/array/holdingsigil.json
|
||||
78c880321f0bfad14239d4b9d2edae170a7fa86e data/bloodmagic/recipes/array/lavasigil.json
|
||||
165f8f8ba7ae094cdd1367716a0797a0f8d4d605 data/bloodmagic/recipes/array/living_boots.json
|
||||
1de17e8a769d471c934835955184d0c8782fb619 data/bloodmagic/recipes/array/living_helmet.json
|
||||
|
|
|
@ -70,6 +70,9 @@
|
|||
"block.bloodmagic.woodtilepath": "Tiled Wooden Path",
|
||||
"block.bloodmagic.wornstonebrickpath": "Worn Stone Path",
|
||||
"block.bloodmagic.wornstonetilepath": "Tiled Worn Stone Path",
|
||||
"bloodmagic.keybind.cycle_holding_neg": "Cycle Sigil (-)",
|
||||
"bloodmagic.keybind.cycle_holding_pos": "Cycle Sigil (+)",
|
||||
"bloodmagic.keybind.open_holding": "Open Sigil of Holding",
|
||||
"chat.bloodmagic.damageSource": "%s's soul became too weak",
|
||||
"chat.bloodmagic.living_upgrade_level_increase": "%s has leveled up to %d",
|
||||
"chat.bloodmagic.ritual.activate": "A rush of energy flows through the ritual!",
|
||||
|
@ -147,6 +150,7 @@
|
|||
"item.bloodmagic.reagentbloodlight": "Blood Lamp Reagent",
|
||||
"item.bloodmagic.reagentfastminer": "Mining Reagent",
|
||||
"item.bloodmagic.reagentgrowth": "Growth Reagent",
|
||||
"item.bloodmagic.reagentholding": "Holding Reagent",
|
||||
"item.bloodmagic.reagentlava": "Lava Reagent",
|
||||
"item.bloodmagic.reagentmagnetism": "Magnetism Reagent",
|
||||
"item.bloodmagic.reagentsight": "Sight Reagent",
|
||||
|
@ -161,6 +165,7 @@
|
|||
"item.bloodmagic.sand_netherite": "Netherite Scrap Sand",
|
||||
"item.bloodmagic.sanguinereverter": "Sanguine Reverter",
|
||||
"item.bloodmagic.seersigil": "Seer's Sigil",
|
||||
"item.bloodmagic.sigilofholding": "Sigil of Holding",
|
||||
"item.bloodmagic.sigilofmagnetism": "Sigil of Magnetism",
|
||||
"item.bloodmagic.silk_touch_anointment": "Soft Coating",
|
||||
"item.bloodmagic.slate_vial": "Slate-infused Vial",
|
||||
|
@ -200,6 +205,7 @@
|
|||
"jei.bloodmagic.recipe.soulforge": "Hellfire Forge",
|
||||
"jei.bloodmagic.recipe.soulsdrained": "Drained: %s Will",
|
||||
"jei.bloodmagic.recipe.ticksRequired": "Time: %sTicks",
|
||||
"key.bloodmagic.category": "Blood Magic",
|
||||
"living_upgrade.bloodmagic.arrow_protect": "Pin Cushion",
|
||||
"living_upgrade.bloodmagic.arrow_shot": "Trick Shot",
|
||||
"living_upgrade.bloodmagic.battleHunger": "Battle Hungry",
|
||||
|
@ -390,6 +396,7 @@
|
|||
"tile.bloodmagic.alchemytable.name": "Alchemy Table",
|
||||
"tile.bloodmagic.arc.name": "Alchemical Reaction Chamber",
|
||||
"tile.bloodmagic.soulforge.name": "Hellfire Forge",
|
||||
"tooltip.bloodmagic.activated": "Activated",
|
||||
"tooltip.bloodmagic.activationcrystal.awakened": "Activates more powerful rituals",
|
||||
"tooltip.bloodmagic.activationcrystal.creative": "Creative Only - Activates any ritual",
|
||||
"tooltip.bloodmagic.activationcrystal.weak": "Activates low-level rituals",
|
||||
|
@ -409,6 +416,7 @@
|
|||
"tooltip.bloodmagic.currentType.destructive": "Contains: Destructive Will",
|
||||
"tooltip.bloodmagic.currentType.steadfast": "Contains: Steadfast Will",
|
||||
"tooltip.bloodmagic.currentType.vengeful": "Contains: Vengeful Will",
|
||||
"tooltip.bloodmagic.deactivated": "Deactivated",
|
||||
"tooltip.bloodmagic.decoration.notSafe": "Dangerous for decoration",
|
||||
"tooltip.bloodmagic.decoration.safe": "Safe for decoration",
|
||||
"tooltip.bloodmagic.diviner.airRune": "Air Runes: %d",
|
||||
|
@ -458,6 +466,9 @@
|
|||
"tooltip.bloodmagic.sigil.divination.otherNetwork": "Peering into the soul of %s",
|
||||
"tooltip.bloodmagic.sigil.fastminer.desc": "Keep mining, and mining...",
|
||||
"tooltip.bloodmagic.sigil.greengrove.desc": "Environmentally friendly",
|
||||
"tooltip.bloodmagic.sigil.holding.desc": "Sigil-ception",
|
||||
"tooltip.bloodmagic.sigil.holding.press": "Press %s to modify",
|
||||
"tooltip.bloodmagic.sigil.holding.sigilInSlot": "Slot %d: %s",
|
||||
"tooltip.bloodmagic.sigil.lava.desc": "HOT! DO NOT EAT",
|
||||
"tooltip.bloodmagic.sigil.magnetism.desc": "I have a very magnetic personality",
|
||||
"tooltip.bloodmagic.sigil.seer.currentAltarCapacity": "Current Capacity: %d LP",
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "bloodmagic:item/reagentholding"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "bloodmagic:item/sigilofholding"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"type": "bloodmagic:alchemytable",
|
||||
"input": [
|
||||
{
|
||||
"tag": "forge:chests"
|
||||
},
|
||||
{
|
||||
"tag": "forge:leather"
|
||||
},
|
||||
{
|
||||
"tag": "forge:string"
|
||||
},
|
||||
{
|
||||
"tag": "forge:string"
|
||||
}
|
||||
],
|
||||
"output": {
|
||||
"item": "bloodmagic:reagentholding"
|
||||
},
|
||||
"syphon": 2000,
|
||||
"ticks": 200,
|
||||
"upgradeLevel": 2
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "bloodmagic:array",
|
||||
"texture": "bloodmagic:textures/models/alchemyarrays/sightsigil.png",
|
||||
"baseinput": {
|
||||
"item": "bloodmagic:reagentholding"
|
||||
},
|
||||
"addedinput": {
|
||||
"item": "bloodmagic:infusedslate"
|
||||
},
|
||||
"output": {
|
||||
"item": "bloodmagic:sigilofholding"
|
||||
}
|
||||
}
|
|
@ -135,7 +135,7 @@ public class BloodMagic
|
|||
modBus.addGenericListener(Effect.class, BloodMagicPotions::registerPotions);
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(new GenericHandler());
|
||||
// MinecraftForge.EVENT_BUS.register(new ClientEvents());
|
||||
// MinecraftForge.EVENT_BUS.register(new ClientHandler());
|
||||
modBus.addListener(this::registerColors);
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(new WillHandler());
|
||||
|
|
|
@ -1,17 +1,21 @@
|
|||
package wayoftime.bloodmagic.client;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.entity.player.ClientPlayerEntity;
|
||||
import net.minecraft.client.gui.ScreenManager;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.RenderTypeLookup;
|
||||
import net.minecraft.client.world.ClientWorld;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.IItemPropertyGetter;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemModelsProperties;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.text.StringTextComponent;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.client.event.ColorHandlerEvent;
|
||||
import net.minecraftforge.client.event.InputEvent;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
|
@ -38,14 +42,18 @@ import wayoftime.bloodmagic.client.render.entity.EntityShapedChargeRenderer;
|
|||
import wayoftime.bloodmagic.client.render.entity.SoulSnareRenderer;
|
||||
import wayoftime.bloodmagic.client.screens.ScreenAlchemicalReactionChamber;
|
||||
import wayoftime.bloodmagic.client.screens.ScreenAlchemyTable;
|
||||
import wayoftime.bloodmagic.client.screens.ScreenHolding;
|
||||
import wayoftime.bloodmagic.client.screens.ScreenSoulForge;
|
||||
import wayoftime.bloodmagic.common.block.BloodMagicBlocks;
|
||||
import wayoftime.bloodmagic.common.item.BloodMagicItems;
|
||||
import wayoftime.bloodmagic.common.item.ItemSacrificialDagger;
|
||||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilHolding;
|
||||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilToggleable;
|
||||
import wayoftime.bloodmagic.common.item.soul.ItemSentientSword;
|
||||
import wayoftime.bloodmagic.common.registries.BloodMagicEntityTypes;
|
||||
import wayoftime.bloodmagic.core.registry.AlchemyArrayRendererRegistry;
|
||||
import wayoftime.bloodmagic.network.BloodMagicPacketHandler;
|
||||
import wayoftime.bloodmagic.network.SigilHoldingPacket;
|
||||
import wayoftime.bloodmagic.tile.TileAlchemyArray;
|
||||
import wayoftime.bloodmagic.tile.TileAltar;
|
||||
import wayoftime.bloodmagic.tile.TileDemonCrucible;
|
||||
|
@ -67,6 +75,7 @@ public class ClientEvents
|
|||
ScreenManager.registerFactory(BloodMagicBlocks.SOUL_FORGE_CONTAINER.get(), ScreenSoulForge::new);
|
||||
ScreenManager.registerFactory(BloodMagicBlocks.ARC_CONTAINER.get(), ScreenAlchemicalReactionChamber::new);
|
||||
ScreenManager.registerFactory(BloodMagicBlocks.ALCHEMY_TABLE_CONTAINER.get(), ScreenAlchemyTable::new);
|
||||
ScreenManager.registerFactory(BloodMagicBlocks.HOLDING_CONTAINER.get(), ScreenHolding::new);
|
||||
}
|
||||
|
||||
public static void colorHandlerEvent(ColorHandlerEvent.Item event)
|
||||
|
@ -74,6 +83,43 @@ public class ClientEvents
|
|||
event.getItemColors().register(new AnointmentColor(), BloodMagicItems.MELEE_DAMAGE_ANOINTMENT.get(), BloodMagicItems.SILK_TOUCH_ANOINTMENT.get(), BloodMagicItems.FORTUNE_ANOINTMENT.get(), BloodMagicItems.HOLY_WATER_ANOINTMENT.get(), BloodMagicItems.HIDDEN_KNOWLEDGE_ANOINTMENT.get(), BloodMagicItems.QUICK_DRAW_ANOINTMENT.get(), BloodMagicItems.LOOTING_ANOINTMENT.get(), BloodMagicItems.BOW_POWER_ANOINTMENT.get(), BloodMagicItems.WILL_POWER_ANOINTMENT.get(), BloodMagicItems.SMELTING_ANOINTMENT.get());
|
||||
}
|
||||
|
||||
public static void cycleSigil(ItemStack stack, PlayerEntity player, int dWheel)
|
||||
{
|
||||
int mode = dWheel;
|
||||
if (true)
|
||||
{
|
||||
mode = ItemSigilHolding.getCurrentItemOrdinal(stack);
|
||||
mode = dWheel < 0 ? ItemSigilHolding.next(mode) : ItemSigilHolding.prev(mode);
|
||||
}
|
||||
|
||||
ItemSigilHolding.cycleToNextSigil(stack, mode);
|
||||
BloodMagicPacketHandler.INSTANCE.sendToServer(new SigilHoldingPacket(player.inventory.currentItem, mode));
|
||||
ItemStack newStack = ItemSigilHolding.getItemStackInSlot(stack, ItemSigilHolding.getCurrentItemOrdinal(stack));
|
||||
player.sendStatusMessage(newStack.isEmpty() ? new StringTextComponent("") : newStack.getTextComponent(), true);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onMouseEvent(InputEvent.MouseScrollEvent event)
|
||||
{
|
||||
ClientPlayerEntity player = Minecraft.getInstance().player;
|
||||
|
||||
if (event.getScrollDelta() != 0 && player != null && player.isSneaking())
|
||||
{
|
||||
ItemStack stack = player.getHeldItemMainhand();
|
||||
|
||||
if (!stack.isEmpty())
|
||||
{
|
||||
Item item = stack.getItem();
|
||||
|
||||
if (item instanceof ItemSigilHolding)
|
||||
{
|
||||
cycleSigil(stack, player, event.getScrollDelta() > 0 ? 1 : -1);
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void appendTooltip(ItemTooltipEvent event)
|
||||
{
|
||||
|
|
|
@ -13,6 +13,7 @@ import wayoftime.bloodmagic.ConfigManager;
|
|||
import wayoftime.bloodmagic.client.Sprite;
|
||||
import wayoftime.bloodmagic.client.hud.element.ElementDemonAura;
|
||||
import wayoftime.bloodmagic.client.hud.element.ElementDivinedInformation;
|
||||
import wayoftime.bloodmagic.client.hud.element.ElementHolding;
|
||||
import wayoftime.bloodmagic.tile.TileAltar;
|
||||
import wayoftime.bloodmagic.tile.TileIncenseAltar;
|
||||
import wayoftime.bloodmagic.util.helper.NumeralHelper;
|
||||
|
@ -86,5 +87,7 @@ public class Elements
|
|||
: String.valueOf((int) (100 * incense.incenseAddition))));
|
||||
}
|
||||
}, new Vector2f(0.01F, 0.01F));
|
||||
|
||||
ElementRegistry.registerHandler(new ResourceLocation(BloodMagic.MODID, "holding"), new ElementHolding(), new Vector2f(0.72F, 1.0F));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,109 @@
|
|||
package wayoftime.bloodmagic.client.hud.element;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import wayoftime.bloodmagic.BloodMagic;
|
||||
import wayoftime.bloodmagic.client.Sprite;
|
||||
import wayoftime.bloodmagic.common.item.BloodMagicItems;
|
||||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilHolding;
|
||||
|
||||
public class ElementHolding extends HUDElement
|
||||
{
|
||||
private static final Sprite HOLDING_BAR = new Sprite(new ResourceLocation(BloodMagic.MODID, "textures/gui/widgets.png"), 0, 0, 102, 22);
|
||||
private static final Sprite SELECTED_OVERLAY = new Sprite(new ResourceLocation(BloodMagic.MODID, "textures/gui/widgets.png"), 0, 22, 24, 24);
|
||||
|
||||
public ElementHolding()
|
||||
{
|
||||
super(HOLDING_BAR.getTextureWidth(), HOLDING_BAR.getTextureHeight());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(MatrixStack matrixStack, float partialTicks, int drawX, int drawY)
|
||||
{
|
||||
// GlStateManager.color(1.0F, 1.0F, 1.0F);
|
||||
matrixStack.push();
|
||||
HOLDING_BAR.draw(matrixStack, drawX, drawY);
|
||||
|
||||
Minecraft minecraft = Minecraft.getInstance();
|
||||
ItemStack sigilHolding = minecraft.player.getHeldItemMainhand();
|
||||
// Check mainhand for Sigil of Holding
|
||||
if (!(sigilHolding.getItem() == BloodMagicItems.HOLDING_SIGIL.get()))
|
||||
sigilHolding = minecraft.player.getHeldItemOffhand();
|
||||
// Check offhand for Sigil of Holding
|
||||
if (!(sigilHolding.getItem() == BloodMagicItems.HOLDING_SIGIL.get()))
|
||||
return;
|
||||
|
||||
int currentSlot = ItemSigilHolding.getCurrentItemOrdinal(sigilHolding);
|
||||
SELECTED_OVERLAY.draw(matrixStack, drawX - 1 + (currentSlot * 20), drawY - 1);
|
||||
|
||||
RenderHelper.enableStandardItemLighting();
|
||||
List<ItemStack> inventory = ItemSigilHolding.getInternalInventory(sigilHolding);
|
||||
int xOffset = 0;
|
||||
for (ItemStack stack : inventory)
|
||||
{
|
||||
renderHotbarItem(matrixStack, drawX + 3 + xOffset, drawY + 3, partialTicks, minecraft.player, stack);
|
||||
xOffset += 20;
|
||||
}
|
||||
matrixStack.pop();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldRender(Minecraft minecraft)
|
||||
{
|
||||
ItemStack sigilHolding = minecraft.player.getHeldItemMainhand();
|
||||
// Check mainhand for Sigil of Holding
|
||||
if (!(sigilHolding.getItem() == BloodMagicItems.HOLDING_SIGIL.get()))
|
||||
sigilHolding = minecraft.player.getHeldItemOffhand();
|
||||
// Check offhand for Sigil of Holding
|
||||
if (!(sigilHolding.getItem() == BloodMagicItems.HOLDING_SIGIL.get()))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
protected void renderHotbarItem(MatrixStack matrixStack, int x, int y, float partialTicks, PlayerEntity player, ItemStack stack)
|
||||
{
|
||||
if (!stack.isEmpty())
|
||||
{
|
||||
float animation = (float) stack.getAnimationsToGo() - partialTicks;
|
||||
|
||||
if (animation > 0.0F)
|
||||
{
|
||||
matrixStack.push();
|
||||
float f1 = 1.0F + animation / 5.0F;
|
||||
matrixStack.translate((float) (x + 8), (float) (y + 12), 0.0F);
|
||||
matrixStack.scale(1.0F / f1, (f1 + 1.0F) / 2.0F, 1.0F);
|
||||
matrixStack.translate((float) (-(x + 8)), (float) (-(y + 12)), 0.0F);
|
||||
// RenderSystem.translatef((float) (x + 8), (float) (y + 12), 0.0F);
|
||||
// RenderSystem.scalef(1.0F / f1, (f1 + 1.0F) / 2.0F, 1.0F);
|
||||
// RenderSystem.translatef((float) (-(x + 8)), (float) (-(y + 12)), 0.0F);
|
||||
}
|
||||
|
||||
Minecraft.getInstance().getItemRenderer().renderItemAndEffectIntoGUI(player, stack, x, y);
|
||||
|
||||
if (animation > 0.0F)
|
||||
matrixStack.pop();
|
||||
|
||||
Minecraft.getInstance().getItemRenderer().renderItemOverlays(Minecraft.getInstance().fontRenderer, stack, x, y);
|
||||
}
|
||||
}
|
||||
|
||||
// private void drawItemStack(ItemStack stack, int x, int y, String altText) {
|
||||
// RenderSystem.translatef(0.0F, 0.0F, 32.0F);
|
||||
// this.setBlitOffset(200);
|
||||
// this.itemRenderer.zLevel = 200.0F;
|
||||
// net.minecraft.client.gui.FontRenderer font = stack.getItem().getFontRenderer(stack);
|
||||
// if (font == null) font = this.font;
|
||||
// this.itemRenderer.renderItemAndEffectIntoGUI(stack, x, y);
|
||||
// this.itemRenderer.renderItemOverlayIntoGUI(font, stack, x, y - (this.draggedStack.isEmpty() ? 0 : 8), altText);
|
||||
// this.setBlitOffset(0);
|
||||
// this.itemRenderer.zLevel = 0.0F;
|
||||
// }
|
||||
}
|
|
@ -2,14 +2,20 @@ package wayoftime.bloodmagic.client.key;
|
|||
|
||||
import java.util.Locale;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.entity.player.ClientPlayerEntity;
|
||||
import net.minecraft.client.settings.KeyBinding;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.client.settings.IKeyConflictContext;
|
||||
import net.minecraftforge.client.settings.KeyConflictContext;
|
||||
import net.minecraftforge.client.settings.KeyModifier;
|
||||
import wayoftime.bloodmagic.BloodMagic;
|
||||
import wayoftime.bloodmagic.client.ClientEvents;
|
||||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilHolding;
|
||||
import wayoftime.bloodmagic.network.KeyProcessorPacket;
|
||||
import wayoftime.bloodmagic.util.handler.event.ClientHandler;
|
||||
|
||||
public enum KeyBindings
|
||||
{
|
||||
|
@ -20,10 +26,12 @@ public enum KeyBindings
|
|||
@Override
|
||||
public void handleKeybind()
|
||||
{
|
||||
ItemStack itemStack = ClientHandler.minecraft.player.getHeldItemMainhand();
|
||||
if (itemStack.getItem() instanceof IKeybindable)
|
||||
BloodMagic.packetHandler.sendToServer(new KeyProcessorPacket(this.ordinal(), false));
|
||||
System.out.println("I is on the client.");
|
||||
// ItemStack itemStack = ClientHandler.minecraft.player.getHeldItemMainhand();
|
||||
// if (itemStack.getItem() instanceof IKeybindable)
|
||||
// System.out.println("I is on the client.");
|
||||
//
|
||||
//
|
||||
// BloodMagicPacketHandler.INSTANCE.sendToServer(new KeyProcessorPacket(this, false));
|
||||
}
|
||||
},
|
||||
|
@ -33,9 +41,9 @@ public enum KeyBindings
|
|||
@Override
|
||||
public void handleKeybind()
|
||||
{
|
||||
// ClientPlayerEntity player = Minecraft.getInstance().player;
|
||||
// if (player.getHeldItemMainhand().getItem() instanceof ItemSigilHolding)
|
||||
// ClientHandler.cycleSigil(player.getHeldItemMainhand(), player, -1);
|
||||
ClientPlayerEntity player = Minecraft.getInstance().player;
|
||||
if (player.getHeldItemMainhand().getItem() instanceof ItemSigilHolding)
|
||||
ClientEvents.cycleSigil(player.getHeldItemMainhand(), player, -1);
|
||||
}
|
||||
},
|
||||
CYCLE_HOLDING_NEG(KeyConflictContext.IN_GAME, KeyModifier.SHIFT, -1)
|
||||
|
@ -44,9 +52,9 @@ public enum KeyBindings
|
|||
@Override
|
||||
public void handleKeybind()
|
||||
{
|
||||
// ClientPlayerEntity player = Minecraft.getInstance().player;
|
||||
// if (player.getHeldItemMainhand().getItem() instanceof ItemSigilHolding)
|
||||
// ClientHandler.cycleSigil(player.getHeldItemMainhand(), player, 1);
|
||||
ClientPlayerEntity player = Minecraft.getInstance().player;
|
||||
if (player.getHeldItemMainhand().getItem() instanceof ItemSigilHolding)
|
||||
ClientEvents.cycleSigil(player.getHeldItemMainhand(), player, 1);
|
||||
}
|
||||
},;
|
||||
// @formatter:on
|
||||
|
@ -106,5 +114,7 @@ public enum KeyBindings
|
|||
public static void initializeKeys()
|
||||
{
|
||||
OPEN_HOLDING.getKey();
|
||||
CYCLE_HOLDING_POS.getKey();
|
||||
CYCLE_HOLDING_NEG.getKey();
|
||||
}
|
||||
}
|
|
@ -32,24 +32,6 @@ public class ScreenAlchemyTable extends ScreenBase<ContainerAlchemyTable>
|
|||
return background;
|
||||
}
|
||||
|
||||
// public
|
||||
|
||||
// public ScreenSoulForge(InventoryPlayer playerInventory, IInventory tileSoulForge)
|
||||
// {
|
||||
// super(new ContainerAlchemyTable(playerInventory, tileSoulForge));
|
||||
// this.tileSoulForge = tileSoulForge;
|
||||
// this.xSize = 176;
|
||||
// this.ySize = 205;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void render(MatrixStack stack, int mouseX, int mouseY, float partialTicks)
|
||||
// {
|
||||
// this.drawDefaultBackground();
|
||||
// super.drawScreen(mouseX, mouseY, partialTicks);
|
||||
// this.renderHoveredToolTip(mouseX, mouseY);
|
||||
// }
|
||||
//
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(MatrixStack stack, int mouseX, int mouseY)
|
||||
{
|
||||
|
@ -57,7 +39,6 @@ public class ScreenAlchemyTable extends ScreenBase<ContainerAlchemyTable>
|
|||
this.font.func_243248_b(stack, new TranslationTextComponent("container.inventory"), 8, 111, 4210752);
|
||||
}
|
||||
|
||||
//
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(MatrixStack stack, float partialTicks, int mouseX, int mouseY)
|
||||
{
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
package wayoftime.bloodmagic.client.screens;
|
||||
|
||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.entity.player.PlayerInventory;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.util.text.TranslationTextComponent;
|
||||
import wayoftime.bloodmagic.BloodMagic;
|
||||
import wayoftime.bloodmagic.common.item.BloodMagicItems;
|
||||
import wayoftime.bloodmagic.common.item.inventory.ContainerHolding;
|
||||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilHolding;
|
||||
|
||||
public class ScreenHolding extends ScreenBase<ContainerHolding>
|
||||
{
|
||||
private static final ResourceLocation background = BloodMagic.rl("gui/sigilholding.png");
|
||||
public IInventory tileTable;
|
||||
private PlayerEntity player;
|
||||
|
||||
public ScreenHolding(ContainerHolding container, PlayerInventory playerInventory, ITextComponent title)
|
||||
{
|
||||
super(container, playerInventory, title);
|
||||
tileTable = container.inventoryHolding;
|
||||
xSize = 176;
|
||||
ySize = 121;
|
||||
this.player = playerInventory.player;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getBackground()
|
||||
{
|
||||
return background;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(MatrixStack stack, int mouseX, int mouseY)
|
||||
{
|
||||
// this.font.func_243248_b(stack, new TranslationTextComponent("tile.bloodmagic.alchemytable.name"), 8, 5, 4210752);
|
||||
// this.font.func_243248_b(stack, new TranslationTextComponent("container.inventory"), 8, 111, 4210752);
|
||||
this.font.func_243248_b(stack, new TranslationTextComponent("item.bloodmagic.sigilofholding"), 53, 4, 4210752);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(MatrixStack stack, float partialTicks, int mouseX, int mouseY)
|
||||
{
|
||||
RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
getMinecraft().getTextureManager().bindTexture(background);
|
||||
// int i = (this.width - this.xSize) / 2;
|
||||
// int j = (this.height - this.ySize) / 2;
|
||||
// this.blit(stack, i, j, 0, 0, this.xSize, this.ySize);
|
||||
//
|
||||
// int l = this.getCookProgressScaled(90);
|
||||
// this.blit(stack, i + 115, j + 14 + 90 - l, 176, 90 - l, 18, l);
|
||||
//
|
||||
// for (int slotId = 0; slotId < 6; slotId++)
|
||||
// {
|
||||
// if (!((TileAlchemyTable) tileTable).isInputSlotAccessible(slotId))
|
||||
// {
|
||||
// Slot slot = this.getContainer().getSlot(slotId);
|
||||
//
|
||||
// this.blit(stack, i + slot.xPos, j + slot.yPos, 195, 1, 16, 16);
|
||||
// }
|
||||
// }
|
||||
|
||||
// draw your Gui here, only thing you need to change is the path
|
||||
// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
// this.mc.getTextureManager().bindTexture(texture);
|
||||
int x = (width - xSize) / 2;
|
||||
int y = (height - ySize) / 2;
|
||||
this.blit(stack, x, y, 0, 0, xSize, ySize);
|
||||
ItemStack held = player.getHeldItem(Hand.MAIN_HAND);
|
||||
if (!held.isEmpty() && held.getItem() == BloodMagicItems.HOLDING_SIGIL.get())
|
||||
{
|
||||
// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
this.blit(stack, 4 + x + 36 * ItemSigilHolding.getCurrentItemOrdinal(player.getHeldItemMainhand()), y + 13, 0, 123, 24, 24);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
}
|
|
@ -59,6 +59,13 @@ public class GeneratorLanguage extends LanguageProvider
|
|||
add("tooltip.bloodmagic.sigil.seer.currentTranquility", "Current Tranquility: %d");
|
||||
add("tooltip.bloodmagic.sigil.seer.currentBonus", "Current Bonus: +%d%%");
|
||||
|
||||
add("tooltip.bloodmagic.sigil.holding.press", "Press %s to modify");
|
||||
add("tooltip.bloodmagic.sigil.holding.desc", "Sigil-ception");
|
||||
add("tooltip.bloodmagic.sigil.holding.sigilInSlot", "Slot %d: %s");
|
||||
|
||||
add("tooltip.bloodmagic.activated", "Activated");
|
||||
add("tooltip.bloodmagic.deactivated", "Deactivated");
|
||||
|
||||
add("tooltip.bloodmagic.decoration.safe", "Safe for decoration");
|
||||
add("tooltip.bloodmagic.decoration.notSafe", "Dangerous for decoration");
|
||||
|
||||
|
@ -113,6 +120,8 @@ public class GeneratorLanguage extends LanguageProvider
|
|||
add("tooltip.bloodmagic.experienceTome.exp", "Exp: %0.3f");
|
||||
add("tooltip.bloodmagic.experienceTome.expLevel", "Level: %d");
|
||||
|
||||
add("key.bloodmagic.category", "Blood Magic");
|
||||
|
||||
// Ritual info
|
||||
add("tooltip.bloodmagic.diviner.currentRitual", "Current Ritual: %s");
|
||||
add("tooltip.bloodmagic.diviner.blankRune", "Blank Runes: %d");
|
||||
|
@ -361,6 +370,11 @@ public class GeneratorLanguage extends LanguageProvider
|
|||
add("guide.bloodmagic.name", "Sanguine Scientiem");
|
||||
add("guide.bloodmagic.landing_text", "\"It is my dear hope that by holding this tome in your hands, I may impart the knowledge of the lost art that is Blood Magic\"$(br)$(o)- Magus Arcana$()");
|
||||
|
||||
// Keybinds
|
||||
add("bloodmagic.keybind.open_holding", "Open Sigil of Holding");
|
||||
add("bloodmagic.keybind.cycle_holding_pos", "Cycle Sigil (+)");
|
||||
add("bloodmagic.keybind.cycle_holding_neg", "Cycle Sigil (-)");
|
||||
|
||||
// Block names
|
||||
addBlock(BloodMagicBlocks.BLANK_RUNE, "Blank Rune");
|
||||
addBlock(BloodMagicBlocks.SPEED_RUNE, "Speed Rune");
|
||||
|
@ -454,6 +468,7 @@ public class GeneratorLanguage extends LanguageProvider
|
|||
addItem(BloodMagicItems.AIR_SIGIL, "Air Sigil");
|
||||
addItem(BloodMagicItems.BLOOD_LIGHT_SIGIL, "Sigil of the Blood Lamp");
|
||||
addItem(BloodMagicItems.SEER_SIGIL, "Seer's Sigil");
|
||||
addItem(BloodMagicItems.HOLDING_SIGIL, "Sigil of Holding");
|
||||
|
||||
addItem(BloodMagicBlocks.LIFE_ESSENCE_BUCKET, "Bucket of Life");
|
||||
addItem(BloodMagicItems.ARCANE_ASHES, "Arcane Ashes");
|
||||
|
@ -477,6 +492,7 @@ public class GeneratorLanguage extends LanguageProvider
|
|||
addItem(BloodMagicItems.REAGENT_BLOOD_LIGHT, "Blood Lamp Reagent");
|
||||
addItem(BloodMagicItems.REAGENT_SIGHT, "Sight Reagent");
|
||||
addItem(BloodMagicItems.REAGENT_BINDING, "Binding Reagent");
|
||||
addItem(BloodMagicItems.REAGENT_HOLDING, "Holding Reagent");
|
||||
|
||||
addItem(BloodMagicItems.PETTY_GEM, "Petty Tartaric Gem");
|
||||
addItem(BloodMagicItems.LESSER_GEM, "Lesser Tartaric Gem");
|
||||
|
|
|
@ -20,6 +20,7 @@ import wayoftime.bloodmagic.common.item.sigil.ItemSigilDivination;
|
|||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilFastMiner;
|
||||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilFrost;
|
||||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilGreenGrove;
|
||||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilHolding;
|
||||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilLava;
|
||||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilMagnetism;
|
||||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilVoid;
|
||||
|
@ -127,6 +128,7 @@ public class BloodMagicItems
|
|||
public static final RegistryObject<Item> ICE_SIGIL = ITEMS.register("icesigil", () -> new ItemSigilFrost());
|
||||
public static final RegistryObject<Item> AIR_SIGIL = BASICITEMS.register("airsigil", ItemSigilAir::new);
|
||||
public static final RegistryObject<Item> BLOOD_LIGHT_SIGIL = BASICITEMS.register("bloodlightsigil", ItemSigilBloodLight::new);
|
||||
public static final RegistryObject<Item> HOLDING_SIGIL = BASICITEMS.register("sigilofholding", ItemSigilHolding::new);
|
||||
|
||||
public static final RegistryObject<Item> ARCANE_ASHES = BASICITEMS.register("arcaneashes", () -> new ItemArcaneAshes());
|
||||
public static final RegistryObject<Item> DAGGER_OF_SACRIFICE = BASICITEMS.register("daggerofsacrifice", () -> new ItemDaggerOfSacrifice());
|
||||
|
@ -168,6 +170,7 @@ public class BloodMagicItems
|
|||
public static final RegistryObject<Item> REAGENT_BLOOD_LIGHT = BASICITEMS.register("reagentbloodlight", () -> new ItemBase());
|
||||
public static final RegistryObject<Item> REAGENT_SIGHT = BASICITEMS.register("reagentsight", () -> new ItemBase());
|
||||
public static final RegistryObject<Item> REAGENT_BINDING = BASICITEMS.register("reagentbinding", () -> new ItemBase());
|
||||
public static final RegistryObject<Item> REAGENT_HOLDING = BASICITEMS.register("reagentholding", () -> new ItemBase());
|
||||
|
||||
// Tartaric Gems
|
||||
public static final RegistryObject<Item> PETTY_GEM = ITEMS.register("soulgempetty", () -> new ItemSoulGem("petty", 64));
|
||||
|
|
|
@ -22,6 +22,7 @@ import net.minecraft.util.NonNullList;
|
|||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.util.text.StringTextComponent;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
import net.minecraft.util.text.TranslationTextComponent;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
|
@ -51,6 +52,7 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl
|
|||
@Override
|
||||
public void onKeyPressed(ItemStack stack, PlayerEntity player, KeyBindings key, boolean showInChat)
|
||||
{
|
||||
System.out.println("Received key press on server.");
|
||||
if (stack == player.getHeldItemMainhand() && stack.getItem() instanceof ItemSigilHolding && key.equals(KeyBindings.OPEN_HOLDING))
|
||||
{
|
||||
Utils.setUUID(stack);
|
||||
|
@ -81,7 +83,7 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl
|
|||
public void addInformation(ItemStack stack, World world, List<ITextComponent> tooltip, ITooltipFlag flag)
|
||||
{
|
||||
super.addInformation(stack, world, tooltip, flag);
|
||||
tooltip.add(new TranslationTextComponent("tooltip.bloodmagic.sigil.holding.press", KeyBindings.OPEN_HOLDING.getKey()));
|
||||
tooltip.add(new TranslationTextComponent("tooltip.bloodmagic.sigil.holding.press", new TranslationTextComponent(KeyBindings.OPEN_HOLDING.getKey().getTranslationKey()).mergeStyle(TextFormatting.ITALIC)));
|
||||
|
||||
if (!stack.hasTag())
|
||||
return;
|
||||
|
@ -95,8 +97,11 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl
|
|||
ItemStack invStack = inv.get(i);
|
||||
if (!invStack.isEmpty())
|
||||
if (!item.isEmpty() && invStack == item)
|
||||
tooltip.add(new TranslationTextComponent("tooltip.bloodmagic.sigil.holding.sigilInSlot", i + 1, "&o&n" + invStack.getDisplayName()));
|
||||
else
|
||||
{
|
||||
tooltip.add(new TranslationTextComponent("tooltip.bloodmagic.sigil.holding.sigilInSlot", i + 1, (invStack.getDisplayName().copyRaw()).mergeStyle(TextFormatting.ITALIC, TextFormatting.UNDERLINE)));
|
||||
// tooltip.add(new TranslationTextComponent("tooltip.bloodmagic.sigil.holding.sigilInSlot", i + 1, new TranslationTextComponent(invStack.getDisplayName()).mergeStyle(TextFormatting.ITALIC, TextFormatting.UNDERLINE)));
|
||||
|
||||
} else
|
||||
tooltip.add(new TranslationTextComponent("tooltip.bloodmagic.sigil.holding.sigilInSlot", i + 1, invStack.getDisplayName()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ public class AlchemyArrayRecipeProvider implements ISubRecipeProvider
|
|||
AlchemyArrayRecipeBuilder.array(BloodMagic.rl("textures/models/alchemyarrays/lightsigil.png"), Ingredient.fromItems(BloodMagicItems.REAGENT_BLOOD_LIGHT.get()), Ingredient.fromItems(BloodMagicItems.IMBUED_SLATE.get()), new ItemStack(BloodMagicItems.BLOOD_LIGHT_SIGIL.get())).build(consumer, BloodMagic.rl(basePath + "bloodlightsigil"));
|
||||
AlchemyArrayRecipeBuilder.array(BloodMagic.rl("textures/models/alchemyarrays/airsigil.png"), Ingredient.fromItems(BloodMagicItems.REAGENT_AIR.get()), Ingredient.fromItems(BloodMagicItems.REINFORCED_SLATE.get()), new ItemStack(BloodMagicItems.AIR_SIGIL.get())).build(consumer, BloodMagic.rl(basePath + "airsigil"));
|
||||
AlchemyArrayRecipeBuilder.array(BloodMagic.rl("textures/models/alchemyarrays/sightsigil.png"), Ingredient.fromItems(BloodMagicItems.REAGENT_SIGHT.get()), Ingredient.fromItems(BloodMagicItems.REINFORCED_SLATE.get()), new ItemStack(BloodMagicItems.SEER_SIGIL.get())).build(consumer, BloodMagic.rl(basePath + "seersigil"));
|
||||
AlchemyArrayRecipeBuilder.array(BloodMagic.rl("textures/models/alchemyarrays/sightsigil.png"), Ingredient.fromItems(BloodMagicItems.REAGENT_HOLDING.get()), Ingredient.fromItems(BloodMagicItems.IMBUED_SLATE.get()), new ItemStack(BloodMagicItems.HOLDING_SIGIL.get())).build(consumer, BloodMagic.rl(basePath + "holdingsigil"));
|
||||
AlchemyArrayRecipeBuilder.array(AlchemyArrayRegistry.BINDING_ARRAY, Ingredient.fromItems(BloodMagicItems.REAGENT_BINDING.get()), Ingredient.fromItems(Items.IRON_HELMET), new ItemStack(BloodMagicItems.LIVING_HELMET.get())).build(consumer, BloodMagic.rl(basePath + "living_helmet"));
|
||||
AlchemyArrayRecipeBuilder.array(AlchemyArrayRegistry.BINDING_ARRAY, Ingredient.fromItems(BloodMagicItems.REAGENT_BINDING.get()), Ingredient.fromItems(Items.IRON_CHESTPLATE), new ItemStack(BloodMagicItems.LIVING_PLATE.get())).build(consumer, BloodMagic.rl(basePath + "living_plate"));
|
||||
AlchemyArrayRecipeBuilder.array(AlchemyArrayRegistry.BINDING_ARRAY, Ingredient.fromItems(BloodMagicItems.REAGENT_BINDING.get()), Ingredient.fromItems(Items.IRON_LEGGINGS), new ItemStack(BloodMagicItems.LIVING_LEGGINGS.get())).build(consumer, BloodMagic.rl(basePath + "living_leggings"));
|
||||
|
|
|
@ -69,7 +69,7 @@ public class AlchemyTableRecipeProvider implements ISubRecipeProvider
|
|||
AlchemyTableRecipeBuilder.alchemyTable(new ItemStack(BloodMagicItems.REAGENT_BLOOD_LIGHT.get()), 1000, 200, 3).addIngredient(Ingredient.fromTag(Tags.Items.DUSTS_GLOWSTONE)).addIngredient(Ingredient.fromItems(Items.TORCH)).addIngredient(Ingredient.fromTag(Tags.Items.DUSTS_REDSTONE)).addIngredient(Ingredient.fromTag(Tags.Items.DUSTS_REDSTONE)).build(consumer, BloodMagic.rl(basePath + "reagent_blood_light"));
|
||||
AlchemyTableRecipeBuilder.alchemyTable(new ItemStack(BloodMagicItems.REAGENT_SIGHT.get()), 500, 200, 1).addIngredient(Ingredient.fromTag(Tags.Items.DUSTS_GLOWSTONE)).addIngredient(Ingredient.fromTag(Tags.Items.GLASS)).addIngredient(Ingredient.fromTag(Tags.Items.GLASS)).addIngredient(Ingredient.fromItems(BloodMagicItems.DIVINATION_SIGIL.get())).build(consumer, BloodMagic.rl(basePath + "reagent_sight"));
|
||||
AlchemyTableRecipeBuilder.alchemyTable(new ItemStack(BloodMagicItems.REAGENT_BINDING.get()), 1000, 200, 3).addIngredient(Ingredient.fromTag(Tags.Items.DUSTS_GLOWSTONE)).addIngredient(Ingredient.fromTag(Tags.Items.DUSTS_REDSTONE)).addIngredient(Ingredient.fromTag(Tags.Items.GUNPOWDER)).addIngredient(Ingredient.fromTag(Tags.Items.NUGGETS_GOLD)).build(consumer, BloodMagic.rl(basePath + "reagent_binding"));
|
||||
|
||||
AlchemyTableRecipeBuilder.alchemyTable(new ItemStack(BloodMagicItems.REAGENT_HOLDING.get()), 2000, 200, 2).addIngredient(Ingredient.fromTag(Tags.Items.CHESTS)).addIngredient(Ingredient.fromTag(Tags.Items.LEATHER)).addIngredient(Ingredient.fromTag(Tags.Items.STRING)).addIngredient(Ingredient.fromTag(Tags.Items.STRING)).build(consumer, BloodMagic.rl(basePath + "reagent_holding"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ public class BloodMagicPacketHandler extends BasePacketHandler
|
|||
registerServerToClient(SetClientHealthPacket.class, SetClientHealthPacket::encode, SetClientHealthPacket::decode, SetClientHealthPacket::handle);
|
||||
|
||||
registerClientToServer(KeyProcessorPacket.class, KeyProcessorPacket::encode, KeyProcessorPacket::decode, KeyProcessorPacket::handle);
|
||||
registerClientToServer(SigilHoldingPacket.class, SigilHoldingPacket::encode, SigilHoldingPacket::decode, SigilHoldingPacket::handle);
|
||||
// INSTANCE.registerMessage(id, messageType, encoder, decoder, messageConsumer);
|
||||
// INSTANCE.registerMessage(ChatUtil.PacketNoSpamChat.Handler.class, ChatUtil.PacketNoSpamChat.class, 0, Side.CLIENT);
|
||||
// INSTANCE.registerMessage(ItemRouterButtonPacketProcessor.class, ItemRouterButtonPacketProcessor.class, 1, Side.SERVER);
|
||||
|
|
|
@ -46,7 +46,6 @@ public class KeyProcessorPacket
|
|||
|
||||
public static void sendKeyToServer(KeyProcessorPacket msg, PlayerEntity playerEntity)
|
||||
{
|
||||
System.out.println("Hoiiiii");
|
||||
if (playerEntity != null)
|
||||
{
|
||||
ItemStack heldStack = playerEntity.getHeldItemMainhand();
|
||||
|
@ -62,10 +61,4 @@ public class KeyProcessorPacket
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// @OnlyIn(Dist.CLIENT)
|
||||
// public static void updateClientHolder(DemonWillHolder holder)
|
||||
// {
|
||||
// ClientHandler.currentAura = holder;
|
||||
// }
|
||||
}
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
package wayoftime.bloodmagic.network;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.network.PacketBuffer;
|
||||
import net.minecraftforge.fml.network.NetworkEvent.Context;
|
||||
import wayoftime.bloodmagic.common.item.sigil.ItemSigilHolding;
|
||||
|
||||
public class SigilHoldingPacket
|
||||
{
|
||||
private int slot;
|
||||
private int mode;
|
||||
|
||||
public SigilHoldingPacket()
|
||||
{
|
||||
}
|
||||
|
||||
public SigilHoldingPacket(int slot, int mode)
|
||||
{
|
||||
this.slot = slot;
|
||||
this.mode = mode;
|
||||
}
|
||||
|
||||
public static void encode(SigilHoldingPacket pkt, PacketBuffer buf)
|
||||
{
|
||||
buf.writeInt(pkt.slot);
|
||||
buf.writeInt(pkt.mode);
|
||||
}
|
||||
|
||||
public static SigilHoldingPacket decode(PacketBuffer buf)
|
||||
{
|
||||
SigilHoldingPacket pkt = new SigilHoldingPacket(buf.readInt(), buf.readInt());
|
||||
|
||||
return pkt;
|
||||
}
|
||||
|
||||
public static void handle(SigilHoldingPacket message, Supplier<Context> context)
|
||||
{
|
||||
context.get().enqueueWork(() -> sendKeyToServer(message, context.get().getSender()));
|
||||
context.get().setPacketHandled(true);
|
||||
}
|
||||
|
||||
public static void sendKeyToServer(SigilHoldingPacket msg, PlayerEntity playerEntity)
|
||||
{
|
||||
ItemStack itemStack = ItemStack.EMPTY;
|
||||
|
||||
if (msg.slot > -1 && msg.slot < 9)
|
||||
{
|
||||
itemStack = playerEntity.inventory.getStackInSlot(msg.slot);
|
||||
}
|
||||
|
||||
if (!itemStack.isEmpty())
|
||||
{
|
||||
ItemSigilHolding.cycleToNextSigil(itemStack, msg.mode);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -38,7 +38,6 @@ import net.minecraft.util.text.TextFormatting;
|
|||
import net.minecraft.util.text.TranslationTextComponent;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.client.event.RenderWorldLastEvent;
|
||||
import net.minecraftforge.client.event.TextureStitchEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
|
@ -60,7 +59,7 @@ import wayoftime.bloodmagic.tile.TileMasterRitualStone;
|
|||
import wayoftime.bloodmagic.will.DemonWillHolder;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = BloodMagic.MODID, value = Dist.CLIENT)
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
//@OnlyIn(Dist.CLIENT)
|
||||
public class ClientHandler
|
||||
{
|
||||
public static final boolean SUPPRESS_ASSET_ERRORS = true;
|
||||
|
|
Loading…
Reference in a new issue