1.5.2 Новая механика

74
0
Более-менее разобравшись с интерфейсом, решил пойти дальше, постепенно планирую шаг за шагом менять механику здоровье/броня/урон.
Первым делом решил заменить функционирование брони.
Как мне удалось обнаружить, в ISpecialArmor.java обрабатывается входящий чистый урон и выдается уже с учетом работы брони.

Код:
 public static int ApplyArmor(EntityLiving entity, ItemStack[] inventory, DamageSource source, double damage)


        {


return (int)(damage-/*броня*/);


        }

Вопрос сейчас в том, как получить всю броню.
Пробовал: return (int)(damage-ForgeHooks.getTotalArmorValue(mc.thePlayer));
Но подчеркивает mc, я не знаю, что нужно импортировать, чтобы все нормально работало.
ForgeHooks.getTotalArmorValue(mc.thePlayer) используется в GuiInGameForge
Вот все импорты в GuiInGameForge
Код:
import java.awt.Color;
import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumSet;
import java.util.Iterator;
import java.util.List;
import java.util.Random;

import javax.imageio.ImageIO;

import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

import scala.Dynamic;
import scala.collection.immutable.HashMap.HashTrieMap;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.ITickHandler;
import cpw.mods.fml.common.TickType;
import cpw.mods.fml.common.registry.TickRegistry;
import cpw.mods.fml.relauncher.Side;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiIngame;
import net.minecraft.client.gui.GuiNewChat;
import net.minecraft.client.gui.GuiPlayerInfo;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.multiplayer.NetClientHandler;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.crash.CallableMinecraftVersion;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.boss.BossStatus;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.scoreboard.Score;
import net.minecraft.scoreboard.ScoreObjective;
import net.minecraft.scoreboard.ScorePlayerTeam;
import net.minecraft.scoreboard.Scoreboard;
import net.minecraft.util.Direction;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.EnumMovingObjectType;
import net.minecraft.util.FoodStats;
import net.minecraft.util.Icon;
import net.minecraft.util.MathHelper;
import net.minecraft.util.StatCollector;
import net.minecraft.util.StringUtils;
import net.minecraft.world.EnumSkyBlock;
import net.minecraft.world.chunk.Chunk;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
import net.minecraftforge.common.ForgeHooks;
import net.minecraftforge.common.MinecraftForge;
также присутствует вот такая конструкция
Код:
public GuiIngameForge(Minecraft mc)
    {
        super(mc);
    }
 
Да, похоже это действительно то, спасибо)
Но теперь игра начинает жутко лагать примерно через 10 минут, можно ли каким-нибудь другим образом взять это число непосредственно из данного класса?
 
Просто мне проще посмотреть исходник и подредактировать под себя)
Похоже дело даже не в этом, утечка памяти идет, даже если вернуть все так, как и было.
 
krok написал(а):
А потом забыть)
Я все комментирую
Плюс мои странные планы включают переписать механику майнкрафта и добавление только своих модов, так что конфликтов надеюсь избежать)
Да уж, ты прав оказался, добавил я какой-то таймер, который непонятно как работает и уже по сути не нужен, вдобавок он вызывал утечку.
 
Назад
Сверху