From 1b1bdaf13961610ab2af1d91a0417a1adc26e575 Mon Sep 17 00:00:00 2001 From: Fi0x Date: Thu, 25 Jun 2020 20:00:50 +0200 Subject: [PATCH 1/5] Synched skilltree of altar of knowledge with server Signed-off-by: Fi0x --- .../java/com/fi0x/deepmagic/blocks/AltarOfKnowledge.java | 4 +++- src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/fi0x/deepmagic/blocks/AltarOfKnowledge.java b/src/main/java/com/fi0x/deepmagic/blocks/AltarOfKnowledge.java index 3c8ee255..c22b6117 100644 --- a/src/main/java/com/fi0x/deepmagic/blocks/AltarOfKnowledge.java +++ b/src/main/java/com/fi0x/deepmagic/blocks/AltarOfKnowledge.java @@ -1,6 +1,7 @@ package com.fi0x.deepmagic.blocks; import com.fi0x.deepmagic.Main; +import com.fi0x.deepmagic.mana.player.PlayerMana; import com.fi0x.deepmagic.mana.player.PlayerProperties; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; @@ -29,8 +30,9 @@ public boolean onBlockActivated(@Nonnull World worldIn, @Nonnull BlockPos pos, @ { if(!worldIn.isRemote) { + PlayerMana playerMana = playerIn.getCapability(PlayerProperties.PLAYER_MANA, null); // PacketHandler.INSTANCE.sendToServer(new PacketGetSkill(playerIn.getName(), playerMana.getSkillXP(), playerMana.getSkillpoints(), playerMana.getManaRegenRate(), playerMana.getManaEfficiency(), playerMana.maxManaMultiplier, playerMana.addedHP, playerMana.hpRegeneration)); - Main.proxy.openSkilltreeGui(playerIn.getCapability(PlayerProperties.PLAYER_MANA, null)); + Main.proxy.openSkilltreeGui(playerMana); } return true; } diff --git a/src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java b/src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java index 240dc9c6..80816fef 100644 --- a/src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java +++ b/src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java @@ -28,6 +28,7 @@ public class GuiSkilltree extends GuiScreen private GuiButton buttonAddMaxHP; private GuiButton buttonAddHPRegen; private GuiButton buttonAddSpellTier; + private GuiButton buttonAddSpellCastSkill; public GuiSkilltree(PlayerMana playerMana) { @@ -56,8 +57,10 @@ public void initGui() buttonList.add(buttonAddMaxHP); buttonAddHPRegen = new GuiButton(5, guiX + 160, guiY + 85, 20, 20, I18n.format("+")); buttonList.add(buttonAddHPRegen); - buttonAddSpellTier = new GuiButton(6, guiX + 160, guiY + 105, 20, 10, I18n.format("+")); + buttonAddSpellTier = new GuiButton(6, guiX + 160, guiY + 105, 20, 20, I18n.format("+")); buttonList.add(buttonAddSpellTier); + buttonAddSpellCastSkill = new GuiButton(6, guiX + 160, guiY + 125, 20, 20, I18n.format("+")); + buttonList.add(buttonAddSpellCastSkill); GuiLabel labelMaxMana = new GuiLabel(this.fontRenderer, 101, guiX + 5, guiY + 5, 150, 20, 0); labelMaxMana.addLine("Mana Capacity: " + (int) playerMana.getMaxMana()); @@ -94,6 +97,7 @@ public void updateScreen() buttonAddHPRegen.visible = true; if(playerMana.getSpellTier() < 10) buttonAddSpellTier.visible = true; else buttonAddSpellTier.visible = false; + buttonAddSpellCastSkill.visible = true; } else { buttonAddMaxMana.visible = false; @@ -102,6 +106,7 @@ public void updateScreen() buttonAddMaxHP.visible = false; buttonAddHPRegen.visible = false; buttonAddSpellTier.visible = false; + buttonAddSpellCastSkill.visible = false; } } @@ -129,6 +134,7 @@ protected void actionPerformed(@Nonnull GuiButton button) else if(button == buttonAddMaxHP) playerMana.addedHP++; else if(button == buttonAddHPRegen) playerMana.hpRegeneration++; else if(button == buttonAddSpellTier) playerMana.addSpellTier(); + else if(button == buttonAddSpellCastSkill) playerMana.spellCastSkill++; playerMana.removeSkillpoint(); } } From 0955f5b88ff95f46a6dc9cf02a001e5a72a9277f Mon Sep 17 00:00:00 2001 From: Fi0x Date: Thu, 25 Jun 2020 20:34:04 +0200 Subject: [PATCH 2/5] Updated Packet sending Signed-off-by: Fi0x --- .../deepmagic/blocks/AltarOfKnowledge.java | 7 +- .../deepmagic/gui/GuiManaRenderOverlay.java | 9 +- .../com/fi0x/deepmagic/gui/GuiSkilltree.java | 11 +- .../items/skillpoints/SkillMonitor.java | 5 +- .../mana/player/PlayerPropertyEvents.java | 2 +- .../network/PacketGetPlayerMana.java | 36 +----- .../deepmagic/network/PacketGetSkill.java | 110 ++++++++++++++++++ .../fi0x/deepmagic/network/PacketHandler.java | 3 + .../network/PacketReturnPlayerMana.java | 36 +----- .../deepmagic/network/PacketReturnSkill.java | 102 ++++++++++++++++ .../com/fi0x/deepmagic/proxy/ClientProxy.java | 6 +- .../com/fi0x/deepmagic/proxy/CommonProxy.java | 4 +- 12 files changed, 247 insertions(+), 84 deletions(-) create mode 100644 src/main/java/com/fi0x/deepmagic/network/PacketGetSkill.java create mode 100644 src/main/java/com/fi0x/deepmagic/network/PacketReturnSkill.java diff --git a/src/main/java/com/fi0x/deepmagic/blocks/AltarOfKnowledge.java b/src/main/java/com/fi0x/deepmagic/blocks/AltarOfKnowledge.java index c22b6117..2b3cd301 100644 --- a/src/main/java/com/fi0x/deepmagic/blocks/AltarOfKnowledge.java +++ b/src/main/java/com/fi0x/deepmagic/blocks/AltarOfKnowledge.java @@ -3,6 +3,8 @@ import com.fi0x.deepmagic.Main; import com.fi0x.deepmagic.mana.player.PlayerMana; import com.fi0x.deepmagic.mana.player.PlayerProperties; +import com.fi0x.deepmagic.network.PacketGetSkill; +import com.fi0x.deepmagic.network.PacketHandler; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; @@ -31,8 +33,9 @@ public boolean onBlockActivated(@Nonnull World worldIn, @Nonnull BlockPos pos, @ if(!worldIn.isRemote) { PlayerMana playerMana = playerIn.getCapability(PlayerProperties.PLAYER_MANA, null); -// PacketHandler.INSTANCE.sendToServer(new PacketGetSkill(playerIn.getName(), playerMana.getSkillXP(), playerMana.getSkillpoints(), playerMana.getManaRegenRate(), playerMana.getManaEfficiency(), playerMana.maxManaMultiplier, playerMana.addedHP, playerMana.hpRegeneration)); - Main.proxy.openSkilltreeGui(playerMana); + assert playerMana != null; + PacketHandler.INSTANCE.sendToServer(new PacketGetSkill(playerIn.getName(), playerMana.getMaxMana(), playerMana.getSkillXP(), playerMana.getSkillpoints(), playerMana.getManaRegenRate(), playerMana.getManaEfficiency(), playerMana.addedHP, playerMana.hpRegeneration, playerMana.getSpellTier(), playerMana.spellCastSkill)); + Main.proxy.openSkilltreeGui(playerIn); } return true; } diff --git a/src/main/java/com/fi0x/deepmagic/gui/GuiManaRenderOverlay.java b/src/main/java/com/fi0x/deepmagic/gui/GuiManaRenderOverlay.java index 4aa1a72c..8b98dbf8 100644 --- a/src/main/java/com/fi0x/deepmagic/gui/GuiManaRenderOverlay.java +++ b/src/main/java/com/fi0x/deepmagic/gui/GuiManaRenderOverlay.java @@ -17,12 +17,17 @@ public class GuiManaRenderOverlay extends Gui private final ResourceLocation MANA_BAR = new ResourceLocation(Reference.MOD_ID, "textures/gui/manabar.png"); - public void setValues(double currentMana, double maxMana) + public void setCurrentMana(double currentMana) { PlayerMana playerMana = Minecraft.getMinecraft().player.getCapability(PlayerProperties.PLAYER_MANA, null); assert playerMana != null; playerMana.setMana(currentMana); - playerMana.setMaxMana(maxMana); + } + public void setMaxManaMultiplier(int maxManaMultiplier) + { + PlayerMana playerMana = Minecraft.getMinecraft().player.getCapability(PlayerProperties.PLAYER_MANA, null); + assert playerMana != null; + playerMana.maxManaMultiplier = maxManaMultiplier; } @SubscribeEvent diff --git a/src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java b/src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java index 80816fef..993431e3 100644 --- a/src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java +++ b/src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java @@ -1,11 +1,15 @@ package com.fi0x.deepmagic.gui; import com.fi0x.deepmagic.mana.player.PlayerMana; +import com.fi0x.deepmagic.mana.player.PlayerProperties; +import com.fi0x.deepmagic.network.PacketGetSkill; +import com.fi0x.deepmagic.network.PacketHandler; import com.fi0x.deepmagic.util.Reference; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiLabel; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; @@ -15,6 +19,7 @@ public class GuiSkilltree extends GuiScreen { PlayerMana playerMana; + String playerName; private final int backgroundHeight = 256; private final int backgroundWidth = 512; @@ -30,9 +35,10 @@ public class GuiSkilltree extends GuiScreen private GuiButton buttonAddSpellTier; private GuiButton buttonAddSpellCastSkill; - public GuiSkilltree(PlayerMana playerMana) + public GuiSkilltree(EntityPlayer player) { - this.playerMana = playerMana; + this.playerMana = player.getCapability(PlayerProperties.PLAYER_MANA, null); + this.playerName = player.getName(); } @Override @@ -137,6 +143,7 @@ protected void actionPerformed(@Nonnull GuiButton button) else if(button == buttonAddSpellCastSkill) playerMana.spellCastSkill++; playerMana.removeSkillpoint(); } + PacketHandler.INSTANCE.sendToServer(new PacketGetSkill(playerName, playerMana.getMaxMana(), playerMana.getSkillXP(), playerMana.getSkillpoints(), playerMana.getManaRegenRate(), playerMana.getManaEfficiency(), playerMana.addedHP, playerMana.hpRegeneration, playerMana.getSpellTier(), playerMana.spellCastSkill)); } @Override diff --git a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillMonitor.java b/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillMonitor.java index c746a97d..b9c92abb 100644 --- a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillMonitor.java +++ b/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillMonitor.java @@ -2,8 +2,6 @@ import com.fi0x.deepmagic.Main; import com.fi0x.deepmagic.items.ItemBase; -import com.fi0x.deepmagic.mana.player.PlayerMana; -import com.fi0x.deepmagic.mana.player.PlayerProperties; import com.fi0x.deepmagic.util.IMagicItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -27,8 +25,7 @@ public ActionResult onItemRightClick(World worldIn, @Nonnull EntityPl { if(!worldIn.isRemote) { - PlayerMana playerMana = playerIn.getCapability(PlayerProperties.PLAYER_MANA, null); - Main.proxy.openSkilltreeGui(playerMana); + Main.proxy.openSkilltreeGui(playerIn); return new ActionResult<>(EnumActionResult.SUCCESS, playerIn.getHeldItem(handIn)); } return new ActionResult<>(EnumActionResult.FAIL, playerIn.getHeldItem(handIn)); diff --git a/src/main/java/com/fi0x/deepmagic/mana/player/PlayerPropertyEvents.java b/src/main/java/com/fi0x/deepmagic/mana/player/PlayerPropertyEvents.java index 79ea807f..62e9452b 100644 --- a/src/main/java/com/fi0x/deepmagic/mana/player/PlayerPropertyEvents.java +++ b/src/main/java/com/fi0x/deepmagic/mana/player/PlayerPropertyEvents.java @@ -55,7 +55,7 @@ public void onPlayerTick(TickEvent.PlayerTickEvent event) { PlayerMana playerMana = event.player.getCapability(PlayerProperties.PLAYER_MANA, null); assert playerMana != null; - PacketHandler.INSTANCE.sendToServer(new PacketGetPlayerMana(event.player.getName(), playerMana.getMana(), playerMana.getMaxMana(), playerMana.getSkillpoints(), playerMana.getManaRegenRate(), playerMana.getManaEfficiency(), playerMana.addedHP, playerMana.hpRegeneration, playerMana.getSpellTier(), playerMana.spellCastSkill)); + PacketHandler.INSTANCE.sendToServer(new PacketGetPlayerMana(event.player.getName(), playerMana.getMana())); } } } \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/network/PacketGetPlayerMana.java b/src/main/java/com/fi0x/deepmagic/network/PacketGetPlayerMana.java index 7fdc6215..0330193f 100644 --- a/src/main/java/com/fi0x/deepmagic/network/PacketGetPlayerMana.java +++ b/src/main/java/com/fi0x/deepmagic/network/PacketGetPlayerMana.java @@ -18,31 +18,15 @@ public class PacketGetPlayerMana implements IMessage private String playerName; private double currentMana; - private double maxMana; - private int skillpoints; - private double manaRegenRate; - private double manaEfficiency; - private int addedHP; - private int hpRegeneration; - private int spellTier; - private int spellCastSkill; public PacketGetPlayerMana() { messageValid = false; } - public PacketGetPlayerMana(String playerName, double currentMana, double maxMana, int skillpoints, double manaRegenRate, double manaEfficiency, int addedHP, int hpRegeneration, int spellTier, int spellCastSkill) + public PacketGetPlayerMana(String playerName, double currentMana) { this.playerName = playerName; this.currentMana = currentMana; - this.maxMana = maxMana; - this.skillpoints = skillpoints; - this.manaRegenRate = manaRegenRate; - this.manaEfficiency = manaEfficiency; - this.addedHP = addedHP; - this.hpRegeneration = hpRegeneration; - this.spellTier = spellTier; - this.spellCastSkill = spellCastSkill; messageValid = true; } @@ -54,14 +38,6 @@ public void fromBytes(ByteBuf buf) { playerName = ByteBufUtils.readUTF8String(buf); currentMana = buf.readDouble(); - maxMana = buf.readDouble(); - skillpoints = buf.readInt(); - manaRegenRate = buf.readDouble(); - manaEfficiency = buf.readDouble(); - addedHP = buf.readInt(); - hpRegeneration = buf.readInt(); - spellTier = buf.readInt(); - spellCastSkill = buf.readInt(); } catch(IndexOutOfBoundsException exception) { Main.getLogger().catching(exception); @@ -75,14 +51,6 @@ public void toBytes(ByteBuf buf) if(!messageValid) return; ByteBufUtils.writeUTF8String(buf, playerName); buf.writeDouble(currentMana); - buf.writeDouble(maxMana); - buf.writeInt(skillpoints); - buf.writeDouble(manaRegenRate); - buf.writeDouble(manaEfficiency); - buf.writeInt(addedHP); - buf.writeInt(hpRegeneration); - buf.writeInt(spellTier); - buf.writeInt(spellCastSkill); } public static class Handler implements IMessageHandler @@ -103,7 +71,7 @@ void processMessage(PacketGetPlayerMana message, MessageContext ctx) { PlayerMana playerMana = player.getCapability(PlayerProperties.PLAYER_MANA, null); assert playerMana != null; - PacketHandler.INSTANCE.sendTo(new PacketReturnPlayerMana(playerMana.getMana(), playerMana.getMaxMana(), playerMana.getSkillpoints(), playerMana.getManaRegenRate(), playerMana.getManaEfficiency(), playerMana.addedHP, playerMana.hpRegeneration, playerMana.getSpellTier(), playerMana.spellCastSkill), ctx.getServerHandler().player); + PacketHandler.INSTANCE.sendTo(new PacketReturnPlayerMana(playerMana.getMana()), ctx.getServerHandler().player); } } } diff --git a/src/main/java/com/fi0x/deepmagic/network/PacketGetSkill.java b/src/main/java/com/fi0x/deepmagic/network/PacketGetSkill.java new file mode 100644 index 00000000..61ea5698 --- /dev/null +++ b/src/main/java/com/fi0x/deepmagic/network/PacketGetSkill.java @@ -0,0 +1,110 @@ +package com.fi0x.deepmagic.network; + +import com.fi0x.deepmagic.Main; +import com.fi0x.deepmagic.mana.player.PlayerMana; +import com.fi0x.deepmagic.mana.player.PlayerProperties; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.network.ByteBufUtils; +import net.minecraftforge.fml.common.network.simpleimpl.IMessage; +import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; +import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; +import net.minecraftforge.fml.relauncher.Side; + +public class PacketGetSkill implements IMessage +{ + private boolean messageValid; + private String playerName; + + private double maxMana; + private double skillXP; + private int skillpoints; + private double manaRegenRate; + private double manaEfficiency; + private int addedHP; + private int hpRegeneration; + private int spellTier; + private int spellCastSkill; + + public PacketGetSkill() + { + messageValid = false; + } + public PacketGetSkill(String playerName, double maxMana, double skillXP, int skillpoints, double manaRegenRate, double manaEfficiency, int addedHP, int hpRegeneration, int spellTier, int spellCastSkill) + { + this.playerName = playerName; + this.maxMana = maxMana; + this.skillXP = skillXP; + this.skillpoints = skillpoints; + this.manaRegenRate = manaRegenRate; + this.manaEfficiency = manaEfficiency; + this.addedHP = addedHP; + this.hpRegeneration = hpRegeneration; + this.spellTier = spellTier; + this.spellCastSkill = spellCastSkill; + + messageValid = true; + } + + @Override + public void fromBytes(ByteBuf buf) + { + try + { + playerName = ByteBufUtils.readUTF8String(buf); + maxMana = buf.readDouble(); + skillXP = buf.readDouble(); + skillpoints = buf.readInt(); + manaRegenRate = buf.readDouble(); + manaEfficiency = buf.readDouble(); + addedHP = buf.readInt(); + hpRegeneration = buf.readInt(); + spellTier = buf.readInt(); + spellCastSkill = buf.readInt(); + } catch(IndexOutOfBoundsException exception) + { + Main.getLogger().catching(exception); + return; + } + messageValid = true; + } + @Override + public void toBytes(ByteBuf buf) + { + if(!messageValid) return; + ByteBufUtils.writeUTF8String(buf, playerName); + buf.writeDouble(maxMana); + buf.writeDouble(skillXP); + buf.writeInt(skillpoints); + buf.writeDouble(manaRegenRate); + buf.writeDouble(manaEfficiency); + buf.writeInt(addedHP); + buf.writeInt(hpRegeneration); + buf.writeInt(spellTier); + buf.writeInt(spellCastSkill); + } + + public static class Handler implements IMessageHandler + { + + @Override + public IMessage onMessage(PacketGetSkill message, MessageContext ctx) + { + if(!message.messageValid && ctx.side != Side.SERVER) return null; + FMLCommonHandler.instance().getWorldThread(ctx.netHandler).addScheduledTask(() -> processMessage(message, ctx)); + return null; + } + + void processMessage(PacketGetSkill message, MessageContext ctx) + { + EntityPlayer player = ctx.getServerHandler().player.getServerWorld().getPlayerEntityByName(message.playerName); + if(player != null && player.hasCapability(PlayerProperties.PLAYER_MANA, null)) + { + PlayerMana playerMana = player.getCapability(PlayerProperties.PLAYER_MANA, null); + assert playerMana != null; + PacketHandler.INSTANCE.sendTo(new PacketReturnSkill(playerMana.maxManaMultiplier, playerMana.getSkillXP(), playerMana.getSkillpoints(), playerMana.getManaRegenRate(), playerMana.getManaEfficiency(), playerMana.addedHP, playerMana.hpRegeneration, playerMana.getSpellTier(), playerMana.spellCastSkill), ctx.getServerHandler().player); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/network/PacketHandler.java b/src/main/java/com/fi0x/deepmagic/network/PacketHandler.java index e59ca78f..c01ac64f 100644 --- a/src/main/java/com/fi0x/deepmagic/network/PacketHandler.java +++ b/src/main/java/com/fi0x/deepmagic/network/PacketHandler.java @@ -20,5 +20,8 @@ public static void registerMessages(String channelName) INSTANCE.registerMessage(PacketGetPlayerMana.Handler.class, PacketGetPlayerMana.class, nextID(), Side.SERVER); INSTANCE.registerMessage(PacketReturnPlayerMana.Handler.class, PacketReturnPlayerMana.class, nextID(), Side.CLIENT); + + INSTANCE.registerMessage(PacketGetSkill.Handler.class, PacketGetSkill.class, nextID(), Side.SERVER); + INSTANCE.registerMessage(PacketReturnSkill.Handler.class, PacketReturnSkill.class, nextID(), Side.CLIENT); } } \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/network/PacketReturnPlayerMana.java b/src/main/java/com/fi0x/deepmagic/network/PacketReturnPlayerMana.java index 0b103b66..6e2f996d 100644 --- a/src/main/java/com/fi0x/deepmagic/network/PacketReturnPlayerMana.java +++ b/src/main/java/com/fi0x/deepmagic/network/PacketReturnPlayerMana.java @@ -14,30 +14,14 @@ public class PacketReturnPlayerMana implements IMessage private boolean messageValid; private double currentMana; - private double maxMana; - private int skillpoints; - private double manaRegenRate; - private double manaEfficiency; - private int addedHP; - private int hpRegeneration; - private int spellTier; - private int spellCastSkill; public PacketReturnPlayerMana() { this.messageValid = false; } - public PacketReturnPlayerMana(double currentMana, double maxMana, int skillpoints, double manaRegenRate, double manaEfficiency, int addedHP, int hpRegeneration, int spellTier, int spellCastSkill) + public PacketReturnPlayerMana(double currentMana) { this.currentMana = currentMana; - this.maxMana = maxMana; - this.skillpoints = skillpoints; - this.manaRegenRate = manaRegenRate; - this.manaEfficiency = manaEfficiency; - this.addedHP = addedHP; - this.hpRegeneration = hpRegeneration; - this.spellTier = spellTier; - this.spellCastSkill = spellCastSkill; messageValid = true; } @@ -48,14 +32,6 @@ public void fromBytes(ByteBuf buf) try { currentMana = buf.readDouble(); - maxMana = buf.readDouble(); - skillpoints = buf.readInt(); - manaRegenRate = buf.readDouble(); - manaEfficiency = buf.readDouble(); - addedHP = buf.readInt(); - hpRegeneration = buf.readInt(); - spellTier = buf.readInt(); - spellCastSkill = buf.readInt(); } catch(IndexOutOfBoundsException exception) { Main.getLogger().catching(exception); @@ -68,14 +44,6 @@ public void toBytes(ByteBuf buf) { if(!messageValid) return; buf.writeDouble(currentMana); - buf.writeDouble(maxMana); - buf.writeInt(skillpoints); - buf.writeDouble(manaRegenRate); - buf.writeDouble(manaEfficiency); - buf.writeInt(addedHP); - buf.writeInt(hpRegeneration); - buf.writeInt(spellTier); - buf.writeInt(spellCastSkill); } public static class Handler implements IMessageHandler @@ -92,7 +60,7 @@ void processMessage(PacketReturnPlayerMana message) { try { - GuiManaRenderOverlay.instance.setValues(message.currentMana, message.maxMana); + GuiManaRenderOverlay.instance.setCurrentMana(message.currentMana); } catch(Exception e) { Main.getLogger().catching(e); diff --git a/src/main/java/com/fi0x/deepmagic/network/PacketReturnSkill.java b/src/main/java/com/fi0x/deepmagic/network/PacketReturnSkill.java new file mode 100644 index 00000000..852dbc36 --- /dev/null +++ b/src/main/java/com/fi0x/deepmagic/network/PacketReturnSkill.java @@ -0,0 +1,102 @@ +package com.fi0x.deepmagic.network; + +import com.fi0x.deepmagic.Main; +import com.fi0x.deepmagic.gui.GuiManaRenderOverlay; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.Minecraft; +import net.minecraftforge.fml.common.network.simpleimpl.IMessage; +import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; +import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; +import net.minecraftforge.fml.relauncher.Side; + +public class PacketReturnSkill implements IMessage +{ + private boolean messageValid; + + private int maxManaMultiplier; + private double skillXP; + private int skillpoints; + private double manaRegenRate; + private double manaEfficiency; + private int addedHP; + private int hpRegeneration; + private int spellTier; + private int spellCastSkill; + + public PacketReturnSkill() + { + this.messageValid = false; + } + public PacketReturnSkill(int maxManaMultiplier, double skillXP, int skillpoints, double manaRegenRate, double manaEfficiency, int addedHP, int hpRegeneration, int spellTier, int spellCastSkill) + { + this.maxManaMultiplier = maxManaMultiplier; + this.skillXP = skillXP; + this.skillpoints = skillpoints; + this.manaRegenRate = manaRegenRate; + this.manaEfficiency = manaEfficiency; + this.addedHP = addedHP; + this.hpRegeneration = hpRegeneration; + this.spellTier = spellTier; + this.spellCastSkill = spellCastSkill; + + messageValid = true; + } + + @Override + public void fromBytes(ByteBuf buf) + { + try + { + maxManaMultiplier = buf.readInt(); + skillXP = buf.readDouble(); + skillpoints = buf.readInt(); + manaRegenRate = buf.readDouble(); + manaEfficiency = buf.readDouble(); + addedHP = buf.readInt(); + hpRegeneration = buf.readInt(); + spellTier = buf.readInt(); + spellCastSkill = buf.readInt(); + } catch(IndexOutOfBoundsException exception) + { + Main.getLogger().catching(exception); + return; + } + messageValid = true; + } + @Override + public void toBytes(ByteBuf buf) + { + if(!messageValid) return; + buf.writeInt(maxManaMultiplier); + buf.writeDouble(skillXP); + buf.writeInt(skillpoints); + buf.writeDouble(manaRegenRate); + buf.writeDouble(manaEfficiency); + buf.writeInt(addedHP); + buf.writeInt(hpRegeneration); + buf.writeInt(spellTier); + buf.writeInt(spellCastSkill); + } + + public static class Handler implements IMessageHandler + { + @Override + public IMessage onMessage(PacketReturnSkill message, MessageContext ctx) + { + if(!message.messageValid && ctx.side != Side.CLIENT) return null; + Minecraft.getMinecraft().addScheduledTask(() -> processMessage(message)); + return null; + } + + void processMessage(PacketReturnSkill message) + { + try + { + GuiManaRenderOverlay.instance.setMaxManaMultiplier(message.maxManaMultiplier); + } catch(Exception e) + { + Main.getLogger().catching(e); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/proxy/ClientProxy.java b/src/main/java/com/fi0x/deepmagic/proxy/ClientProxy.java index 7bc513e0..3e50803c 100644 --- a/src/main/java/com/fi0x/deepmagic/proxy/ClientProxy.java +++ b/src/main/java/com/fi0x/deepmagic/proxy/ClientProxy.java @@ -2,9 +2,9 @@ import com.fi0x.deepmagic.gui.GuiManaRenderOverlay; import com.fi0x.deepmagic.gui.GuiSkilltree; -import com.fi0x.deepmagic.mana.player.PlayerMana; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.common.MinecraftForge; @@ -20,9 +20,9 @@ public void registerItemRenderer(Item item, int meta, String id) } @Override - public void openSkilltreeGui(PlayerMana playerMana) + public void openSkilltreeGui(EntityPlayer player) { - Minecraft.getMinecraft().addScheduledTask( () -> Minecraft.getMinecraft().displayGuiScreen(new GuiSkilltree(playerMana))); + Minecraft.getMinecraft().addScheduledTask( () -> Minecraft.getMinecraft().displayGuiScreen(new GuiSkilltree(player))); } @Override diff --git a/src/main/java/com/fi0x/deepmagic/proxy/CommonProxy.java b/src/main/java/com/fi0x/deepmagic/proxy/CommonProxy.java index d0d0f6d2..50eab0c9 100644 --- a/src/main/java/com/fi0x/deepmagic/proxy/CommonProxy.java +++ b/src/main/java/com/fi0x/deepmagic/proxy/CommonProxy.java @@ -1,13 +1,13 @@ package com.fi0x.deepmagic.proxy; -import com.fi0x.deepmagic.mana.player.PlayerMana; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; public class CommonProxy { public void registerItemRenderer(Item item, int meta, String id) {} - public void openSkilltreeGui(PlayerMana playerMana) {} + public void openSkilltreeGui(EntityPlayer player) {} public void preInit(FMLPreInitializationEvent event) { From b9ca64534ec02a559059a79b3715696fd6a89960 Mon Sep 17 00:00:00 2001 From: Fi0x Date: Thu, 25 Jun 2020 20:42:18 +0200 Subject: [PATCH 3/5] removed manifested skillpoints Signed-off-by: Fi0x --- src/main/java/TODO | 4 +- .../deepmagic/blocks/SkillManifester.java | 48 ------------------ .../com/fi0x/deepmagic/init/ModBlocks.java | 6 ++- .../com/fi0x/deepmagic/init/ModItems.java | 13 ----- .../items/skillpoints/SkillMonitor.java | 33 ------------ .../items/skillpoints/SkillpointBasic.java | 13 ----- .../items/skillpoints/SkillpointHPRegen.java | 34 ------------- .../skillpoints/SkillpointManaEfficiency.java | 34 ------------- .../skillpoints/SkillpointManaRegen.java | 34 ------------- .../items/skillpoints/SkillpointMaxHP.java | 34 ------------- .../items/skillpoints/SkillpointMaxMana.java | 32 ------------ .../skillpoints/SkillpointSpellCastSkill.java | 34 ------------- .../skillpoints/SkillpointSpellTier.java | 36 ------------- .../blockstates/skill_manifester.json | 7 --- .../assets/deepmagic/lang/en_us.lang | 12 ----- .../models/block/skill_manifester.json | 13 ----- .../models/item/skill_manifester.json | 3 -- .../blocks/skill_manifester_bottom.png | Bin 1944 -> 0 bytes .../textures/blocks/skill_manifester_side.png | Bin 2328 -> 0 bytes .../textures/blocks/skill_manifester_top.png | Bin 2659 -> 0 bytes .../textures/items/skill_monitor.png | Bin 2738 -> 0 bytes .../textures/items/skillpoint_charged.png | Bin 2434 -> 0 bytes .../textures/items/skillpoint_specified.png | Bin 6593 -> 0 bytes .../items/skillpoint_specified.png.mcmeta | 5 -- .../textures/items/skillpoint_uncharged.png | Bin 2145 -> 0 bytes 25 files changed, 7 insertions(+), 388 deletions(-) delete mode 100644 src/main/java/com/fi0x/deepmagic/blocks/SkillManifester.java delete mode 100644 src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillMonitor.java delete mode 100644 src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointBasic.java delete mode 100644 src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointHPRegen.java delete mode 100644 src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointManaEfficiency.java delete mode 100644 src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointManaRegen.java delete mode 100644 src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointMaxHP.java delete mode 100644 src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointMaxMana.java delete mode 100644 src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointSpellCastSkill.java delete mode 100644 src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointSpellTier.java delete mode 100644 src/main/resources/assets/deepmagic/blockstates/skill_manifester.json delete mode 100644 src/main/resources/assets/deepmagic/models/block/skill_manifester.json delete mode 100644 src/main/resources/assets/deepmagic/models/item/skill_manifester.json delete mode 100644 src/main/resources/assets/deepmagic/textures/blocks/skill_manifester_bottom.png delete mode 100644 src/main/resources/assets/deepmagic/textures/blocks/skill_manifester_side.png delete mode 100644 src/main/resources/assets/deepmagic/textures/blocks/skill_manifester_top.png delete mode 100644 src/main/resources/assets/deepmagic/textures/items/skill_monitor.png delete mode 100644 src/main/resources/assets/deepmagic/textures/items/skillpoint_charged.png delete mode 100644 src/main/resources/assets/deepmagic/textures/items/skillpoint_specified.png delete mode 100644 src/main/resources/assets/deepmagic/textures/items/skillpoint_specified.png.mcmeta delete mode 100644 src/main/resources/assets/deepmagic/textures/items/skillpoint_uncharged.png diff --git a/src/main/java/TODO b/src/main/java/TODO index d1302d69..136e9521 100644 --- a/src/main/java/TODO +++ b/src/main/java/TODO @@ -67,7 +67,9 @@ Mobs { ManaLevel { improve skill-xp-levelsystem } -Implement passive Skilltree { +Passive Skilltree { + add skillpoint count + update stats on buttonclick increased saturation increased resistances fire, explosion, drowning, arrow, meele, ... diff --git a/src/main/java/com/fi0x/deepmagic/blocks/SkillManifester.java b/src/main/java/com/fi0x/deepmagic/blocks/SkillManifester.java deleted file mode 100644 index 0cd37e1f..00000000 --- a/src/main/java/com/fi0x/deepmagic/blocks/SkillManifester.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.fi0x.deepmagic.blocks; - -import com.fi0x.deepmagic.init.ModItems; -import com.fi0x.deepmagic.mana.player.PlayerProperties; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumHand; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.text.TextComponentString; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.world.World; - -import javax.annotation.Nonnull; -import java.util.Objects; - -public class SkillManifester extends BlockBase -{ - public SkillManifester(String name, Material material) - { - super(name, material); - setSoundType(SoundType.STONE); - setHardness(3.0F); - setHarvestLevel("pickaxe", 2); - } - - @Override - public boolean onBlockActivated(World worldIn, @Nonnull BlockPos pos, @Nonnull IBlockState state, @Nonnull EntityPlayer playerIn, @Nonnull EnumHand hand, @Nonnull EnumFacing facing, float hitX, float hitY, float hitZ) - { - if(!worldIn.isRemote) - { - if(playerIn.getHeldItemMainhand().getItem() == ModItems.SKILLPOINT_UNCHARGED) - { - if(Objects.requireNonNull(playerIn.getCapability(PlayerProperties.PLAYER_MANA, null)).removeSkillpoint()) - { - playerIn.setHeldItem(EnumHand.MAIN_HAND, new ItemStack(ModItems.SKILLPOINT_CHARGED)); - } else - { - playerIn.sendMessage(new TextComponentString(TextFormatting.RED + "You don't have any unbound skillpoints")); - } - } - } - return true; - } -} \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/init/ModBlocks.java b/src/main/java/com/fi0x/deepmagic/init/ModBlocks.java index 44039f96..e2f1cf13 100644 --- a/src/main/java/com/fi0x/deepmagic/init/ModBlocks.java +++ b/src/main/java/com/fi0x/deepmagic/init/ModBlocks.java @@ -1,6 +1,9 @@ package com.fi0x.deepmagic.init; -import com.fi0x.deepmagic.blocks.*; +import com.fi0x.deepmagic.blocks.AltarOfKnowledge; +import com.fi0x.deepmagic.blocks.BlockFluid; +import com.fi0x.deepmagic.blocks.DeepCrystalBlock; +import com.fi0x.deepmagic.blocks.DeepCrystalOre; import com.fi0x.deepmagic.blocks.effectstones.AttackStone; import com.fi0x.deepmagic.blocks.effectstones.DefenceStone; import com.fi0x.deepmagic.blocks.effectstones.LevitationStone; @@ -57,7 +60,6 @@ public class ModBlocks public static final Block INSANITY_WATER = new BlockFluid("insanity_water", ModFluids.INSANITY_WATER, Material.WATER); public static final Block ALTAR_OF_KNOWLEDGE = new AltarOfKnowledge("altar_of_knowledge", Material.ROCK); - public static final Block SKILL_MANIFESTER = new SkillManifester("skill_manifester", Material.ROCK); public static final Block WEATHER_CONTROLLER = new WeatherController("weather_controller", Material.IRON); public static final Block TIME_CONTROLLER = new TimeController("time_controller", Material.IRON); } \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/init/ModItems.java b/src/main/java/com/fi0x/deepmagic/init/ModItems.java index f2079eb3..777ab4ee 100644 --- a/src/main/java/com/fi0x/deepmagic/init/ModItems.java +++ b/src/main/java/com/fi0x/deepmagic/init/ModItems.java @@ -7,7 +7,6 @@ import com.fi0x.deepmagic.items.mana.ManaBooster; import com.fi0x.deepmagic.items.mana.ManaWaster; import com.fi0x.deepmagic.items.mana.TeleportationCrystal; -import com.fi0x.deepmagic.items.skillpoints.*; import com.fi0x.deepmagic.items.spells.SpellHeal; import com.fi0x.deepmagic.items.spells.SpellTime; import com.fi0x.deepmagic.items.spells.SpellWeather; @@ -48,18 +47,6 @@ public class ModItems public static final ItemAxe DEEP_CRYSTAL_AXE = new ToolAxe("deep_crystal_axe", MATERIAL_DEEP_CRYSTAL); public static final ItemHoe DEEP_CRYSTAL_HOE = new ToolHoe("deep_crystal_hoe", MATERIAL_DEEP_CRYSTAL); - //Skills - public static final Item SKILL_MONITOR = new SkillMonitor("skill_monitor"); - public static final Item SKILLPOINT_UNCHARGED = new SkillpointBasic("skillpoint_uncharged"); - public static final Item SKILLPOINT_CHARGED = new SkillpointBasic("skillpoint_charged"); - public static final Item SKILLPOINT_MAX_MANA = new SkillpointMaxMana("skillpoint_max_mana"); - public static final Item SKILLPOINT_MANA_REGEN = new SkillpointManaRegen("skillpoint_mana_regen"); - public static final Item SKILLPOINT_MANA_EFFICIENCY = new SkillpointManaEfficiency("skillpoint_mana_efficiency"); - public static final Item SKILLPOINT_MAX_HP = new SkillpointMaxHP("skillpoint_max_hp"); - public static final Item SKILLPOINT_HP_REGEN = new SkillpointHPRegen("skillpoint_hp_regen"); - public static final Item SKILLPOINT_SPELL_TIER = new SkillpointSpellTier("skillpoint_spell_tier"); - public static final Item SKILLPOINT_SPELL_CAST_SKILL = new SkillpointSpellCastSkill("skillpoint_spell_cast_skill"); - //Spells public static final Item SPELL_HEAL_T1 = new SpellHeal("spell_heal_t1", 1); public static final Item SPELL_HEAL_T2 = new SpellHeal("spell_heal_t2", 2); diff --git a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillMonitor.java b/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillMonitor.java deleted file mode 100644 index b9c92abb..00000000 --- a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillMonitor.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.fi0x.deepmagic.items.skillpoints; - -import com.fi0x.deepmagic.Main; -import com.fi0x.deepmagic.items.ItemBase; -import com.fi0x.deepmagic.util.IMagicItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.world.World; - -import javax.annotation.Nonnull; - -public class SkillMonitor extends ItemBase implements IMagicItem -{ - public SkillMonitor(String name) - { - super(name); - } - - @Nonnull - @Override - public ActionResult onItemRightClick(World worldIn, @Nonnull EntityPlayer playerIn, @Nonnull EnumHand handIn) - { - if(!worldIn.isRemote) - { - Main.proxy.openSkilltreeGui(playerIn); - return new ActionResult<>(EnumActionResult.SUCCESS, playerIn.getHeldItem(handIn)); - } - return new ActionResult<>(EnumActionResult.FAIL, playerIn.getHeldItem(handIn)); - } -} \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointBasic.java b/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointBasic.java deleted file mode 100644 index a0d20318..00000000 --- a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointBasic.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.fi0x.deepmagic.items.skillpoints; - -import com.fi0x.deepmagic.items.ItemBase; -import com.fi0x.deepmagic.util.IMagicItem; - -public class SkillpointBasic extends ItemBase implements IMagicItem -{ - public SkillpointBasic(String name) - { - super(name); - setMaxStackSize(1); - } -} \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointHPRegen.java b/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointHPRegen.java deleted file mode 100644 index a027a132..00000000 --- a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointHPRegen.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.fi0x.deepmagic.items.skillpoints; - -import com.fi0x.deepmagic.mana.player.PlayerMana; -import com.fi0x.deepmagic.mana.player.PlayerProperties; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.world.World; - -import javax.annotation.Nonnull; - -public class SkillpointHPRegen extends SkillpointBasic -{ - public SkillpointHPRegen(String name) - { - super(name); - } - - @Nonnull - @Override - public ActionResult onItemRightClick(World worldIn, @Nonnull EntityPlayer playerIn, @Nonnull EnumHand handIn) - { - if(!worldIn.isRemote) - { - PlayerMana playerMana = playerIn.getCapability(PlayerProperties.PLAYER_MANA, null); - assert playerMana != null; - playerMana.hpRegeneration++; - return new ActionResult<>(EnumActionResult.SUCCESS, ItemStack.EMPTY); - } - return new ActionResult<>(EnumActionResult.FAIL, playerIn.getHeldItem(handIn)); - } -} \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointManaEfficiency.java b/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointManaEfficiency.java deleted file mode 100644 index d3846ea1..00000000 --- a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointManaEfficiency.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.fi0x.deepmagic.items.skillpoints; - -import com.fi0x.deepmagic.mana.player.PlayerMana; -import com.fi0x.deepmagic.mana.player.PlayerProperties; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.world.World; - -import javax.annotation.Nonnull; - -public class SkillpointManaEfficiency extends SkillpointBasic -{ - public SkillpointManaEfficiency(String name) - { - super(name); - } - - @Nonnull - @Override - public ActionResult onItemRightClick(World worldIn, @Nonnull EntityPlayer playerIn, @Nonnull EnumHand handIn) - { - if(!worldIn.isRemote) - { - PlayerMana playerMana = playerIn.getCapability(PlayerProperties.PLAYER_MANA, null); - assert playerMana != null; - playerMana.setManaEfficiency(playerMana.getManaEfficiency() + 1); - return new ActionResult<>(EnumActionResult.SUCCESS, ItemStack.EMPTY); - } - return new ActionResult<>(EnumActionResult.FAIL, playerIn.getHeldItem(handIn)); - } -} \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointManaRegen.java b/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointManaRegen.java deleted file mode 100644 index dcde5c4d..00000000 --- a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointManaRegen.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.fi0x.deepmagic.items.skillpoints; - -import com.fi0x.deepmagic.mana.player.PlayerMana; -import com.fi0x.deepmagic.mana.player.PlayerProperties; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.world.World; - -import javax.annotation.Nonnull; - -public class SkillpointManaRegen extends SkillpointBasic -{ - public SkillpointManaRegen(String name) - { - super(name); - } - - @Nonnull - @Override - public ActionResult onItemRightClick(World worldIn, @Nonnull EntityPlayer playerIn, @Nonnull EnumHand handIn) - { - if(!worldIn.isRemote) - { - PlayerMana playerMana = playerIn.getCapability(PlayerProperties.PLAYER_MANA, null); - assert playerMana != null; - playerMana.setManaRegenRate(playerMana.getManaRegenRate() + 1); - return new ActionResult<>(EnumActionResult.SUCCESS, ItemStack.EMPTY); - } - return new ActionResult<>(EnumActionResult.FAIL, playerIn.getHeldItem(handIn)); - } -} \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointMaxHP.java b/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointMaxHP.java deleted file mode 100644 index b5f035b3..00000000 --- a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointMaxHP.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.fi0x.deepmagic.items.skillpoints; - -import com.fi0x.deepmagic.mana.player.PlayerMana; -import com.fi0x.deepmagic.mana.player.PlayerProperties; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.world.World; - -import javax.annotation.Nonnull; - -public class SkillpointMaxHP extends SkillpointBasic -{ - public SkillpointMaxHP(String name) - { - super(name); - } - - @Nonnull - @Override - public ActionResult onItemRightClick(World worldIn, @Nonnull EntityPlayer playerIn, @Nonnull EnumHand handIn) - { - if(!worldIn.isRemote) - { - PlayerMana playerMana = playerIn.getCapability(PlayerProperties.PLAYER_MANA, null); - assert playerMana != null; - playerMana.addedHP++; - return new ActionResult<>(EnumActionResult.SUCCESS, ItemStack.EMPTY); - } - return new ActionResult<>(EnumActionResult.FAIL, playerIn.getHeldItem(handIn)); - } -} \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointMaxMana.java b/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointMaxMana.java deleted file mode 100644 index ec727e25..00000000 --- a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointMaxMana.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.fi0x.deepmagic.items.skillpoints; - -import com.fi0x.deepmagic.mana.player.PlayerProperties; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.world.World; - -import javax.annotation.Nonnull; -import java.util.Objects; - -public class SkillpointMaxMana extends SkillpointBasic -{ - public SkillpointMaxMana(String name) - { - super(name); - } - - @Nonnull - @Override - public ActionResult onItemRightClick(World worldIn, @Nonnull EntityPlayer playerIn, @Nonnull EnumHand handIn) - { - if(!worldIn.isRemote) - { - Objects.requireNonNull(playerIn.getCapability(PlayerProperties.PLAYER_MANA, null)).maxManaMultiplier++; - return new ActionResult<>(EnumActionResult.SUCCESS, ItemStack.EMPTY); - } - return new ActionResult<>(EnumActionResult.FAIL, playerIn.getHeldItem(handIn)); - } -} \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointSpellCastSkill.java b/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointSpellCastSkill.java deleted file mode 100644 index 2a886e53..00000000 --- a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointSpellCastSkill.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.fi0x.deepmagic.items.skillpoints; - -import com.fi0x.deepmagic.mana.player.PlayerMana; -import com.fi0x.deepmagic.mana.player.PlayerProperties; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.world.World; - -import javax.annotation.Nonnull; - -public class SkillpointSpellCastSkill extends SkillpointBasic -{ - public SkillpointSpellCastSkill(String name) - { - super(name); - } - - @Nonnull - @Override - public ActionResult onItemRightClick(World worldIn, @Nonnull EntityPlayer playerIn, @Nonnull EnumHand handIn) - { - if(!worldIn.isRemote) - { - PlayerMana playerMana = playerIn.getCapability(PlayerProperties.PLAYER_MANA, null); - assert playerMana != null; - playerMana.spellCastSkill++; - return new ActionResult<>(EnumActionResult.SUCCESS, ItemStack.EMPTY); - } - return new ActionResult<>(EnumActionResult.FAIL, playerIn.getHeldItem(handIn)); - } -} \ No newline at end of file diff --git a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointSpellTier.java b/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointSpellTier.java deleted file mode 100644 index 0da0cfd4..00000000 --- a/src/main/java/com/fi0x/deepmagic/items/skillpoints/SkillpointSpellTier.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.fi0x.deepmagic.items.skillpoints; - -import com.fi0x.deepmagic.mana.player.PlayerMana; -import com.fi0x.deepmagic.mana.player.PlayerProperties; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.util.text.TextComponentString; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.world.World; - -import javax.annotation.Nonnull; - -public class SkillpointSpellTier extends SkillpointBasic -{ - public SkillpointSpellTier(String name) - { - super(name); - } - - @Nonnull - @Override - public ActionResult onItemRightClick(World worldIn, @Nonnull EntityPlayer playerIn, @Nonnull EnumHand handIn) - { - if(!worldIn.isRemote) - { - PlayerMana playerMana = playerIn.getCapability(PlayerProperties.PLAYER_MANA, null); - assert playerMana != null; - if(playerMana.addSpellTier()) return new ActionResult<>(EnumActionResult.SUCCESS, ItemStack.EMPTY); - else playerIn.sendMessage(new TextComponentString(TextFormatting.RED + "You are already at Tier 10")); - } - return new ActionResult<>(EnumActionResult.FAIL, playerIn.getHeldItem(handIn)); - } -} \ No newline at end of file diff --git a/src/main/resources/assets/deepmagic/blockstates/skill_manifester.json b/src/main/resources/assets/deepmagic/blockstates/skill_manifester.json deleted file mode 100644 index 121473f8..00000000 --- a/src/main/resources/assets/deepmagic/blockstates/skill_manifester.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "normal": { - "model": "deepmagic:skill_manifester" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/deepmagic/lang/en_us.lang b/src/main/resources/assets/deepmagic/lang/en_us.lang index 8378d733..c3cf59b5 100644 --- a/src/main/resources/assets/deepmagic/lang/en_us.lang +++ b/src/main/resources/assets/deepmagic/lang/en_us.lang @@ -37,7 +37,6 @@ tile.insanity_wood_slab_half.name=Insanity Wood Slab tile.insanity_wood_stairs.name=Insanity Wood Stairs tile.altar_of_knowledge.name=Altar of Knowledge -tile.skill_manifester.name=Skill Manifester tile.weather_controller.name=Weather Controller tile.time_controller=Time Controller @@ -54,17 +53,6 @@ item.deep_crystal_chestplate.name=Deep Crystal Chestplate item.deep_crystal_leggings.name=Deep Crystal Leggings item.deep_crystal_boots.name=Deep Crystal Boots -item.skill_monitor.name=Skill Monitor -item.skillpoint_uncharged.name=Uncharged Skillpoint -item.skillpoint_charged.name=Charged Skillpoint -item.skillpoint_max_mana.name=Specified Skillpoint (Max Mana) -item.skillpoint_mana_regen.name=Specified Skillpoint (Mana Regeneration) -item.skillpoint_mana_efficiency.name=Specified Skillpoint (Mana Efficiency) -item.skillpoint_max_hp.name=Specified Skillpoint (Max HP) -item.skillpoint_hp_regen.name=Specified Skillpoint (HP Regeneration) -item.skillpoint_spell_tier.name=Specified Skillpoint (Spell Tier) -item.skillpoint_spell_cast_skill.name=Specified Skillpoint (Spell Cast Skill) - item.spell_heal_t1.name=Heal Spell T1 item.spell_heal_t2.name=Heal Spell T2 item.spell_heal_t3.name=Heal Spell T3 diff --git a/src/main/resources/assets/deepmagic/models/block/skill_manifester.json b/src/main/resources/assets/deepmagic/models/block/skill_manifester.json deleted file mode 100644 index 13eed6e8..00000000 --- a/src/main/resources/assets/deepmagic/models/block/skill_manifester.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "forge_marker": 1, - "parent": "block/cube", - "textures": { - "particle": "deepmagic:blocks/skill_manifester_side", - "up": "deepmagic:blocks/skill_manifester_top", - "down": "deepmagic:blocks/skill_manifester_bottom", - "north": "deepmagic:blocks/skill_manifester_side", - "east": "deepmagic:blocks/skill_manifester_side", - "south": "deepmagic:blocks/skill_manifester_side", - "west": "deepmagic:blocks/skill_manifester_side" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/deepmagic/models/item/skill_manifester.json b/src/main/resources/assets/deepmagic/models/item/skill_manifester.json deleted file mode 100644 index 1265252e..00000000 --- a/src/main/resources/assets/deepmagic/models/item/skill_manifester.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "deepmagic:block/skill_manifester" -} \ No newline at end of file diff --git a/src/main/resources/assets/deepmagic/textures/blocks/skill_manifester_bottom.png b/src/main/resources/assets/deepmagic/textures/blocks/skill_manifester_bottom.png deleted file mode 100644 index 0bff8d44003d8424e7d1c0eda3cf2e42e66365a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1944 zcmV;J2WR++P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1Y?lC3BV{m&|92__+YEC&RtW(TwUIVf=N)wa9m z)o3X(h7it4qNe`ycQb$C;B5=Wst+zYx8bnSMotjIb{^+Qn?3I1VVlB--mDi4m0*W$xrpD-NJa(o=pSMG8dK@La4r=G^MiDN=?Z`&Cc@5AkIetotc zU=)QvVZ&8Ow&Tv{N^)KampkrQtKT8_BZ(Ed<7c*a3@-pK>4M)jBa;^#r=z(ocfo1s zNiTX?%kW1;#A{`Kk0`gb#0|gJN@%T~yGzy?z~#oK=2i{~h8b|mG0oxhxD>KK&WJN? zY1_eC!B(@`G9Dr^5N~9uP@+cl7$FKK^s#OUGy=;7*oQc z$tL(puuo8A&XR4`?6S`x$DDSg&u(|!-R}3W$2}D;QqTfSamANVVo8-MQmNXi)m2|Z zjWspoT9am*HrIR$Ew;2+8?1h^c4h8+)@ZQC2T|S5zgUCX`{{yuJJHS=7-LId+;;|$ z(A+uO0$IzQxz5=ZS&WD>qSQ`Kq0Sf>w3S#JE$&{-J@RIN?tkTtzhcgG>i!SrOsDRR zxjS!PuvXI1Zsj1TS0OM(hZK}wtRZp0d&GSTPvf%8-YQw`AEZ9QkpswG#y3yLJGJSU z2m*)jG_oIpnHmZEd}n`{d~*g~gE=JkWRhmEqNlKpk&2s=95x2hKCO^E7jr5PZs?6#8DutOHFGtgJxia)4sdF@s z1tDoUX)6|Y&C9hF^V@ooA1cu-#X!I3ihszJmqv9V_Xj2NZPex+m7G@9Po{T$sMhOf zmZCn^*4ljjCbi88g0?Fx6sJ{uDj{3m6z0Rk`rGXC6vc%R^G1@sx=Vh*b?r{lrGCu% zI$SF&)Ti&rRZ+vqTK}}P1&#h;FEKX|e%+Qno1FQ~+!yTSmc!p?gZYYx#n}zgg-@;X zRf@B*y;A1K*7nruRzG_Fpxs)YWc~7UZoaD0eES)o>rcV0aLrGD3+pdog@oUlh>8CK zEoY6?YCp`j0004nX+uL$Nkc;*aB^>EX>4Tx0C=2zkv&MmKpe$iQ?)7;2P+hD$WWau zh>AE$6^me@v=v%)FuC+YXws0RxHt-~1qVMCs}3&Cx;nTDg5U>;lcSTOi`@MHhMyKp2A(GxbDzAp_6xbq^n3@1i`* z``n+SPsy7M@QK8;OgAjzb>itwOXs{#9AYI&AwDM_Gw6cEk6f2se&bwpSm2o~UpV2qv zfPq_}ch&8!xsTHaAVXa(-2exNz-W=O*F4_c-QL^3XPW)}05O?zjh}GZssI2024YJ` zL;(K){{a7>y{D4^000SaNLh0L04^f{04^f|c%?sf00007bV*G`2jm6`2O%kVE7BAI z00BHnL_t(I%XO1Mj>9krMgJf~q-0^K%bX$i>;-#(uDbVvszJyziwJ5*8CEei@IH{A z`~CjA?>l;%rU}ck003UE7uI!!s^aP$1Hj|)05jvt%nZ-xGtck$8zKS#*tYFRU}k8o z0RY^6NG2jMGZ0apnHlc>C79ip890aPG!T;&(8ykKiItW5@jA)+c0Xdp{Wy`XB z$9QgJYc2JM^@Jhu7@3k0r+)j>x8 eJ5SRD0Qdv3r{mKi8pBHf0000Zv diff --git a/src/main/resources/assets/deepmagic/textures/blocks/skill_manifester_side.png b/src/main/resources/assets/deepmagic/textures/blocks/skill_manifester_side.png deleted file mode 100644 index 786952adf7956c023475bd3eb50ed03c570b729b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2328 zcmV+z3Fr2SP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1bx62m48{O1%sf`t%**0+gv3duiBXFa{xI8>5n)&1Kk zz^DRyY>jP9e4KAPN8aOz)QN}ca){)2OQJTo|eDi zwDcsO@jFp^_K55?vVHMLaX(+r`1KlkZ*z9Zc>}oon$(`kDWM@Cb$oX7xD}5;*7J_I z!;y{x)+(l&&5`jD$pZ0Cjw&VU)XuU{fs4*It0=84mQP(^wb2$H6u5Cyw`#yfW;ZyNb52Hh%mOm8DcPScw!+> zhgz#dz%hWI1kXp*_Vxo^4LyR#c z44Pbmt%UXoifl7ymnHkGIpmmALHHC`r1+vGlvq-=l`B$!slI9rHP+OqA(WbH(tOhv zT5PE!);f3BrTeZu^w`tI+G6#UwL5eF%o;7$>`ByUrw`VkR^29Oq!SsOfidd{jO$EKkFlPpJ zPt3jZ_JOsU&UDKsL1PsHQ)EcS@{27b8&D6wr|_-3T4r@ZPR52bN*MA0dC1uFWYvjF zXGajYgm0zQC77+@PmiTOAAeG$;!Edg-C?%KDMkL7G}mq*3=Y8>}8v)5XAUVi(l)pH28AN`&h~rJ1Rs`hfL8o{vm3j|v z_Zz5Q%?i}wZ=rkCUwG$hWjAd=Ph&QvXwC4-V@y;zs03N9Brzw1%25${LYhgE=z2}2@zhx9@8nA zxNM>lTk9H9a4N8qO|21Ls-Fu>i^Lj~WYyse?XT_Vjem7plK$ZL2c3p>j5;c)!a|I8jT94UI*)t!haG>4 zTr#;TVB}ap4JstZ5B>+gdutY_Cf%f99O!+q?T=9)unV*rw*7r<+pQD8{|sDd9e=F} z%zl#I=xEU+U~n6_xbA539&ot>M4oiXkQ~WRODGnB_cQvYJTP<%46M0*YoFuv0mxFX zmT!QALtv~#+3Ozf?(go~zcuat{Qz((a;9~zJ&6DS00v@9M??Vg0Pz6vh-*rp00009 za7bBm001r{001r{0eGc9b^rhX2XskIMF->t7!e>ACs-j+0005|Nkl1urK4#0Vb)g_gp#Fk@ptVG_6!g@ShkC6P55<3yvqy{cPk2#86hYWS8Y=A%=qVLE zBpaEuJ4|OitTSmaA1ph&JM-~A@B3}5-|yE|RdKVDBq7T(07jz`olXa149oTjz}eXu zBEqt=)^dJ+9-n8k8Cq)qy4`Nmz*>v<9suWDY__?%iT9qtV1QBz0IfA5f^%-JAWc)8 zb8&;UmhJ6rUhnTy*EMgeiqq561y!L`ScnMTd%X8N?)7-NyUTbyW;~hjYHyEw>+5K( z7p}4_k*cb&)}oY(GV8iVL}<6$v|25s-Nt*5b8Z1O&vRsLZ4Iq;L;x5ZALFjCd2?_; zTZDIqhm0;RB4W6gWr-ML;^EL8;N;|l_eV#puC7uPMKm_>E2SC*fj>l)rfEbP4u=Gj zmsOT!^B6;;u=d{bLjsFyCtue+lDJZ2PTln~5XULtqEpFY0oo53?B)YGZ zirA_w%jjxIVe3)Bhff<^8kkPt^Y zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1bvvconG{O2ih1cD&A9EWRFZjj@rx!Try&eWtL zl_iP`mTmx~Rr~ADuKvJf$U0@k2N#{wxNNl1Bs79v*Lst-^SM9tX?*mnJ7Cboc=P&n zZO>2Wm)8PscYpruSH5gHVGBBvw?H164H|VDxdpLV{j|STG^>%^n>+j0i;1I4@)~-6 zTMsa*Kpq=q8WZdJG)oh&U&7DfY1m>Sahz?L{q`q*O21?H0PwaR`029y`31)kblh?e zoOVCS@AyrW-Yp_?HJf*fY}8)AU+?(!8hUTbyENh`TDP4#uFMuD0#eI!nZxbz6SV!j zBkrJ+E?}*~)vR>JMuu(aH zj{@cx-R9atQ*Rvlpe#UhCCoGgVc_`lR?m)qdw&S(eS|rY4i_ufWk!6#jKSP^VipLY zzA=@FFRAs?&ub9NU{EH^0S+demxwI%iY=ZzvlfM^R^U$+221ljC%nsxPGjwB(r#aV%S=}fvAVQEd9@HRRK$f*)9r7(8 zgpv{#D?oB4mqKS+$CMvq(2-5%Y_nvSeGWP1R1iMJ7Aday5=tzon#vU=Kvh?L4K>!(s3DY^ZPHxx zEwtEDN33=3wo7;2_t0Zcm$l96Cu>jU{+Tt}teHvFnCD-tq1*c-f<`%!!5J7cmcY0l z3?QJ*;7kXy)(qwbXF3{I%wk}r400+B#=xL$WTeyO?#0|!-W1UNe|a;%F{cJ~{{?eu zQ1`~%Pu_lEt)^LSc@i|T5SXGuGSV-$kW9ch>|Tv;?>jSlD`aJCNaGDb4j_*<_B`2R zV$)m*0(axv+xXp3r-ws1WA=Y6K5wd1FQ`EhfrJbg)dn`!HZFW9{$o}qpO zd3|Qt_?T|}=Lq5=9M_3jT5xz(81O|iK4?gcvYH)%6AM&LDQsje%_uke34vie)x;cll^w(=Sw$A{l;WN&!!xuO81$b z0|<|;B0r4H9aF;UQm_C-ZI; z6gOO(&2Y+}TuZtvex)>*PKA5%X%6|zHx-OMK&G2%<_g1(K80m$pK_u^(p&EA!lzK= zuYvVxvU4|D(DJ zsBMEh{&%#nIYv5nJ~aVn6E5-q8~>Dw|AE43)O!86Ci24#rCt3UP5p=p89CQ>6^@(R z5$H>wdRsw9WPNUBcf0$3%u&yB{5mAj^RV>wjHFM6{Cax2CgHe;fBfoin9}rjUTg~q z0004nX+uL$Nkc;*aB^>EX>4Tx0C=2zkv&MmKp2MKrfNl69PCiUAwzYtAS&W0RV;#q z(pG5I!Q|3EXws0RxHt-~1qXi?s}3&Cx;nTDg5VE`lcSTOiS}bq^ok?_xa5yY9~sQVJ#m zd?N82(+!JwgLr1s(mC%Fhgn%th|h_~4Z0xlBiCh@-#C{X7IIOkiZg>NI`^*Ix48bLX38e6ccGW zk9+us9e;{kGPx>XDYDGy0}HFmwwHths$_ zpX2la$WpJCZ-9eCV5~&h>mKj!@9x{bHSPZW0B|aDrgg48i2wiq24YJ`L;#}z007U$ zAAuME000SaNLh0L04^f{04^f|c%?sf00007bV*G`2jm7A5g7#9W!<6x00N^)L_t(I z%WacQiycK2hM%rFU3I&AZkkLq(Tj>YVL-hwt64|EjVpC2fAqdnb-P@&UJ~&vi&JmadC&7ETU%SvImg{) zt)(am0QUCwm`oH;5JDi+ z9S3#8t1tbAn4WWAKFY`%Fo!V4AR>eiu-2jg@;pZ=g;I*yja{za*e6L6o_+pXo__8s zMV?_yieA+8eSgn`%YTaqf8N~Xo3B2hbq-?;w{FicY09S;&N3QVUVr<201mq0T2)mj z=N#U94rbQ?=wn1g&`MF{8Cq+s9cDiN(R=*#%dfaQH))!NvMiC+)m4l!teBEK8__g# zk|e=7Pun`QR)`2OM)Evku~@MC$92}$r&Lvi)OC&YHE+E9J(J^?8Lt$y&Y_e-YekHp zwIWFpnr6=B&(87V4=4HXf>nMYN_10h6Y5A<(vtuIq*k zbc#IBD2iebSUvVIA6yXH_B2<&z6ij)b#z?-Kr6*~rQqoON7#JkMKU|)k+lIX0Z>ZO zwgY7`My$11Ytf=XYhu^Y_mLPQPpq#|*KK0i+$BPU;bix?wHJxO8} z-g|&yjR3|Ny!RMm_^Sy#aQG0u3w(Fw1X@R&dx|7U@QhGOEx}uw7(zg)L0LrDzq0@m z-r341$7Ak$us}pG|MdQgb6wYnbB^hBx=dT!woE1y05&%_?@8y~akkb1@HdqoEzi%r R+Ef4l002ovPDHLkV1mH-^SS^4 diff --git a/src/main/resources/assets/deepmagic/textures/items/skill_monitor.png b/src/main/resources/assets/deepmagic/textures/items/skill_monitor.png deleted file mode 100644 index d97c5c987beecedc709e0cccd5163e811db51ba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2738 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 diff --git a/src/main/resources/assets/deepmagic/textures/items/skillpoint_charged.png b/src/main/resources/assets/deepmagic/textures/items/skillpoint_charged.png deleted file mode 100644 index fefdfe5f9f6f579965f7d14c00327ff1e6733ba6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2434 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 Date: Thu, 25 Jun 2020 22:43:57 +0200 Subject: [PATCH 4/5] Added skillpoint count to skilltree Updated todo list Signed-off-by: Fi0x --- src/main/java/TODO | 6 +- .../com/fi0x/deepmagic/gui/GuiSkilltree.java | 60 ++++++++++++++----- 2 files changed, 48 insertions(+), 18 deletions(-) diff --git a/src/main/java/TODO b/src/main/java/TODO index 136e9521..e05ddffa 100644 --- a/src/main/java/TODO +++ b/src/main/java/TODO @@ -64,12 +64,10 @@ Mobs { Friendlys Mobs that can be tamed / pets } -ManaLevel { - improve skill-xp-levelsystem -} Passive Skilltree { - add skillpoint count update stats on buttonclick +} +Add skills { increased saturation increased resistances fire, explosion, drowning, arrow, meele, ... diff --git a/src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java b/src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java index 993431e3..58986ed8 100644 --- a/src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java +++ b/src/main/java/com/fi0x/deepmagic/gui/GuiSkilltree.java @@ -35,6 +35,24 @@ public class GuiSkilltree extends GuiScreen private GuiButton buttonAddSpellTier; private GuiButton buttonAddSpellCastSkill; + private GuiLabel labelSkillPoint; + private GuiLabel labelMaxMana; + private GuiLabel labelManaRegen; + private GuiLabel labelManaEfficiency; + private GuiLabel labelMaxHP; + private GuiLabel labelHealthRegen; + private GuiLabel labelSpellTier; + private GuiLabel labelCastSkill; + + private int valueSkillPoint; + private double valueMaxMana; + private double valueManaRegen; + private double valueManaEfficiency; + private int valueMaxHP; + private int valueHPRegen; + private int valueSpellTier; + private int valueCastingSkill; + public GuiSkilltree(EntityPlayer player) { this.playerMana = player.getCapability(PlayerProperties.PLAYER_MANA, null); @@ -68,26 +86,31 @@ public void initGui() buttonAddSpellCastSkill = new GuiButton(6, guiX + 160, guiY + 125, 20, 20, I18n.format("+")); buttonList.add(buttonAddSpellCastSkill); - GuiLabel labelMaxMana = new GuiLabel(this.fontRenderer, 101, guiX + 5, guiY + 5, 150, 20, 0); - labelMaxMana.addLine("Mana Capacity: " + (int) playerMana.getMaxMana()); + updateScreen(); + + labelSkillPoint = new GuiLabel(this.fontRenderer, 100, guiX + backgroundWidth / 2 - 30, guiY + backgroundHeight - 60, 150, 20, 0); + labelSkillPoint.addLine("Skillpoints: " + valueSkillPoint); + labelList.add(labelSkillPoint); + labelMaxMana = new GuiLabel(this.fontRenderer, 101, guiX + 5, guiY + 5, 100, 20, 0); + labelMaxMana.addLine("Mana Capacity: " + (int) valueMaxMana); labelList.add(labelMaxMana); - GuiLabel labelManaRegen = new GuiLabel(this.fontRenderer, 102, guiX + 5, guiY + 25, 150, 20, 0); - labelManaRegen.addLine("Mana Regeneration: " + (int) playerMana.getManaRegenRate()); + labelManaRegen = new GuiLabel(this.fontRenderer, 102, guiX + 5, guiY + 25, 100, 20, 0); + labelManaRegen.addLine("Mana Regeneration: " + (int) valueManaRegen); labelList.add(labelManaRegen); - GuiLabel labelManaEfficiency = new GuiLabel(this.fontRenderer, 103, guiX + 5, guiY + 45, 150, 20, 0); - labelManaEfficiency.addLine("Mana Efficiency: " + (int) playerMana.getManaEfficiency()); + labelManaEfficiency = new GuiLabel(this.fontRenderer, 103, guiX + 5, guiY + 45, 100, 20, 0); + labelManaEfficiency.addLine("Mana Efficiency: " + (int) valueManaEfficiency); labelList.add(labelManaEfficiency); - GuiLabel labelMaxHP = new GuiLabel(this.fontRenderer, 104, guiX + 5, guiY + 65, 150, 20, 0); - labelMaxHP.addLine("Health Points: " + (playerMana.addedHP+20)); + labelMaxHP = new GuiLabel(this.fontRenderer, 104, guiX + 5, guiY + 65, 100, 20, 0); + labelMaxHP.addLine("Health Points: " + valueMaxHP); labelList.add(labelMaxHP); - GuiLabel labelHealthRegen = new GuiLabel(this.fontRenderer, 105, guiX + 5, guiY + 85, 150, 20, 0); - labelHealthRegen.addLine("Health Regeneration: " + playerMana.hpRegeneration); + labelHealthRegen = new GuiLabel(this.fontRenderer, 105, guiX + 5, guiY + 85, 100, 20, 0); + labelHealthRegen.addLine("Health Regeneration: " + valueHPRegen); labelList.add(labelHealthRegen); - GuiLabel labelSpellTier = new GuiLabel(this.fontRenderer, 106, guiX + 5, guiY + 105, 150, 20, 0); - labelSpellTier.addLine("Spell-Tier: " + playerMana.getSpellTier()); + labelSpellTier = new GuiLabel(this.fontRenderer, 106, guiX + 5, guiY + 105, 100, 20, 0); + labelSpellTier.addLine("Spell-Tier: " + valueSpellTier); labelList.add(labelSpellTier); - GuiLabel labelCastSkill = new GuiLabel(this.fontRenderer, 107, guiX + 5, guiY + 125, 150, 20, 0); - labelCastSkill.addLine("Spell-Cast Skill: " + playerMana.spellCastSkill); + labelCastSkill = new GuiLabel(this.fontRenderer, 107, guiX + 5, guiY + 125, 100, 20, 0); + labelCastSkill.addLine("Spell-Cast Skill: " + valueCastingSkill); labelList.add(labelCastSkill); } @@ -114,6 +137,15 @@ public void updateScreen() buttonAddSpellTier.visible = false; buttonAddSpellCastSkill.visible = false; } + + valueSkillPoint = playerMana.getSkillpoints(); + valueMaxMana = playerMana.getMaxMana(); + valueManaRegen = playerMana.getManaRegenRate(); + valueManaEfficiency = playerMana.getManaEfficiency(); + valueMaxHP = (playerMana.addedHP+20); + valueHPRegen = playerMana.hpRegeneration; + valueSpellTier = playerMana.getSpellTier(); + valueCastingSkill = playerMana.spellCastSkill; } @Override From e2e2dc26be8e503ce86e7a773d6649e7a002bdb9 Mon Sep 17 00:00:00 2001 From: Fi0x Date: Thu, 25 Jun 2020 23:14:32 +0200 Subject: [PATCH 5/5] updated todo list Removed demon from world spawn Signed-off-by: Fi0x --- src/main/java/TODO | 4 ++++ .../java/com/fi0x/deepmagic/world/biome/BiomeInsanity.java | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/TODO b/src/main/java/TODO index e05ddffa..54130321 100644 --- a/src/main/java/TODO +++ b/src/main/java/TODO @@ -26,6 +26,7 @@ Mobs { Insanity Dimension (Dragon (in Dragon Lair)) Hostiles Demon + summon with ritual optimize ai set stats / attributes add custom loot table @@ -82,6 +83,8 @@ Add skills { jump height tool speed weapon speed (sword hit speed and bow draw speed) + hp regen+increase + add function } Mana2System { Stored in Altar @@ -116,6 +119,7 @@ Items { fortune auto smelting spells tier 1-10 + Random crafting items } Blocks { Add more World controllers diff --git a/src/main/java/com/fi0x/deepmagic/world/biome/BiomeInsanity.java b/src/main/java/com/fi0x/deepmagic/world/biome/BiomeInsanity.java index 606b1c26..6cdb5d30 100644 --- a/src/main/java/com/fi0x/deepmagic/world/biome/BiomeInsanity.java +++ b/src/main/java/com/fi0x/deepmagic/world/biome/BiomeInsanity.java @@ -39,7 +39,6 @@ public BiomeInsanity() this.spawnableCreatureList.add(new Biome.SpawnListEntry(EntityDwarf.class, 20, 2, 6)); this.spawnableMonsterList.add(new Biome.SpawnListEntry(EntityHoveringOrb.class, 20, 4, 10)); this.spawnableMonsterList.add(new Biome.SpawnListEntry(EntityGiant.class, 5, 1, 2)); - this.spawnableMonsterList.add(new Biome.SpawnListEntry(EntityDemon.class, 10, 1, 1)); this.flowers.clear(); addFlower(ModBlocks.INSANITY_FLOWER.getDefaultState(), 20);