diff options
Diffstat (limited to 'src')
2 files changed, 11 insertions, 44 deletions
diff --git a/src/main/java/gtPlusPlus/core/handler/events/PlayerSleepEventHandler.java b/src/main/java/gtPlusPlus/core/handler/events/PlayerSleepEventHandler.java index c36344d805..10677c12db 100644 --- a/src/main/java/gtPlusPlus/core/handler/events/PlayerSleepEventHandler.java +++ b/src/main/java/gtPlusPlus/core/handler/events/PlayerSleepEventHandler.java @@ -1,8 +1,8 @@ package gtPlusPlus.core.handler.events; import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import gtPlusPlus.api.objects.Logger; @@ -20,6 +20,7 @@ import net.minecraftforge.event.entity.player.PlayerWakeUpEvent; public class PlayerSleepEventHandler { + private static Field sEffectDuration = ReflectionUtils.getField(PotionEffect.class, "duration"); private static ArrayList<Potion> sPositiveEffects = new ArrayList<Potion>(); private static ArrayList<Potion> sNegativeEffects = new ArrayList<Potion>(); @@ -102,38 +103,4 @@ public class PlayerSleepEventHandler { PlayerUtils.messagePlayer(aPlayer, new ChatComponentTranslation(aChatKey, new Object[0])); } - private static Field sEffectDuration = ReflectionUtils.getField(PotionEffect.class, "duration"); - private static Field sActivePotionEffects = ReflectionUtils.getField(EntityPlayer.class, "activePotionsMap"); - private static Method sOnFinishedPotionEffect = ReflectionUtils.getMethod(EntityPlayer.class, "onFinishedPotionEffect", PotionEffect.class); - - public boolean curePotionEffect(EntityPlayer aPlayer, Potion aPotion) { - HashMap activePotionsMap = new HashMap(); - try { - activePotionsMap = ReflectionUtils.getFieldValue(sActivePotionEffects, aPlayer); - } - catch (Throwable t) { - t.printStackTrace(); - } - if (aPlayer != null && aPotion != null && activePotionsMap != null && activePotionsMap.size() > 0) { - Iterator<Integer> potionKey = activePotionsMap.keySet().iterator(); - if (!aPlayer.worldObj.isRemote) { - while (potionKey.hasNext()) { - try { - Integer key = potionKey.next(); - PotionEffect effect = (PotionEffect) activePotionsMap.get(key); - if (effect.getPotionID() == aPotion.getId()) { - potionKey.remove(); - ReflectionUtils.invokeVoid(aPlayer, sOnFinishedPotionEffect, new Object[]{effect}); - return true; - } - } - catch (ConcurrentModificationException e) { - e.printStackTrace(); - } - } - } - } - return false; - } - } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java index 92cbddfdba..6f0176da25 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java @@ -410,15 +410,15 @@ public class GregtechMetaWirelessCharger extends GregtechMetaTileEntity { if (this.mMode == 1 || this.mMode == 2){ int tempRange = (this.mMode == 1 ? this.mTier*20 : this.mTier*10); if (getDistanceBetweenTwoPositions(getTileEntityPosition(), getPositionOfEntity(mTemp)) < tempRange){ - if (isValidPlayer(mTemp) && !mLocalChargingMap.containsKey(mTemp.getPersistentID())){ + if (isValidPlayer(mTemp) && !mLocalChargingMap.containsKey(mTemp.getDisplayName())){ mLocalChargingMap.put(mTemp.getDisplayName(), mTemp.getPersistentID()); ChargingHelper.addValidPlayer(mTemp, this); //PlayerUtils.messagePlayer(mTemp, "You have entered charging range. ["+tempRange+"m - Local]."); } } else { - if (mLocalChargingMap.containsKey(mTemp.getPersistentID())){ - if (mLocalChargingMap.remove(mTemp.getPersistentID()) != null){ + if (mLocalChargingMap.containsKey(mTemp.getDisplayName())){ + if (mLocalChargingMap.remove(mTemp.getDisplayName()) != null){ //PlayerUtils.messagePlayer(mTemp, "You have left charging range. ["+tempRange+"m - Local]."); ChargingHelper.removeValidPlayer(mTemp, this); } @@ -428,7 +428,7 @@ public class GregtechMetaWirelessCharger extends GregtechMetaTileEntity { if (this.mMode == 0 || this.mMode == 2){ int tempRange = (int) (this.mMode == 0 ? 4*GT_Values.V[this.mTier] : 2*GT_Values.V[this.mTier]); if (getDistanceBetweenTwoPositions(getTileEntityPosition(), getPositionOfEntity(mTemp)) <= tempRange){ - if (!mWirelessChargingMap.containsKey(mTemp)){ + if (!mWirelessChargingMap.containsKey(mTemp.getDisplayName())){ if (isValidPlayer(mTemp)) { mWirelessChargingMap.put(mTemp.getDisplayName(), mTemp.getPersistentID()); ChargingHelper.addValidPlayer(mTemp, this); @@ -437,15 +437,15 @@ public class GregtechMetaWirelessCharger extends GregtechMetaTileEntity { } } else { - if (mWirelessChargingMap.containsKey(mTemp)){ - if (mWirelessChargingMap.remove(mTemp) != null){ + if (mWirelessChargingMap.containsKey(mTemp.getDisplayName())){ + if (mWirelessChargingMap.remove(mTemp.getDisplayName()) != null){ PlayerUtils.messagePlayer(mTemp, "You have left charging range. ["+tempRange+"m - Long Range]."); ChargingHelper.removeValidPlayer(mTemp, this); } } } - if (mWirelessChargingMap.containsKey(mTemp) && !mTemp.getDisplayName().equalsIgnoreCase(this.getBaseMetaTileEntity().getOwnerName())){ - if (mWirelessChargingMap.remove(mTemp) != null){ + if (mWirelessChargingMap.containsKey(mTemp.getDisplayName())){ + if (mWirelessChargingMap.remove(mTemp.getDisplayName()) != null){ ChargingHelper.removeValidPlayer(mTemp, this); } } |