Finished reimplementing the Sigil of Holding

Probably missed a few System.out messages for testing, but ah well.
This commit is contained in:
WayofTime 2021-01-20 12:50:34 -05:00
parent b7e06f23bf
commit 3d51f61915
23 changed files with 429 additions and 45 deletions

View file

@ -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"/>

View file

@ -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

View file

@ -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",

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/reagentholding"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/sigilofholding"
}
}

View file

@ -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
}

View file

@ -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"
}
}

View file

@ -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());

View file

@ -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)
{

View file

@ -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));
}
}

View file

@ -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;
// }
}

View file

@ -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();
}
}

View file

@ -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)
{

View file

@ -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);
}
}
//
}

View file

@ -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");

View file

@ -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));

View file

@ -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()));
}
}

View file

@ -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"));

View file

@ -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"));
}
}
}

View file

@ -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);

View file

@ -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;
// }
}

View file

@ -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);
}
}
}

View file

@ -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;