diff options
| author | Alkalus <draknyte1@hotmail.com> | 2017-11-15 10:26:36 +1000 | 
|---|---|---|
| committer | Alkalus <draknyte1@hotmail.com> | 2017-11-15 10:26:36 +1000 | 
| commit | 2cbc0ee9f27bc1d2a21d44d1b4a0c248a315c316 (patch) | |
| tree | 0dd83b9e674fc46eadc78b139ea6cd22ccd08b1e /src/Java | |
| parent | 94d89124d139f6484d3d2fba0773ab9791ed1ef9 (diff) | |
| download | GT5-Unofficial-2cbc0ee9f27bc1d2a21d44d1b4a0c248a315c316.tar.gz GT5-Unofficial-2cbc0ee9f27bc1d2a21d44d1b4a0c248a315c316.tar.bz2 GT5-Unofficial-2cbc0ee9f27bc1d2a21d44d1b4a0c248a315c316.zip | |
+ Added Wireless Chargers.
> These are a basic design-only implementation for reference, so they may never be completed and are more of a proof of concept.
Diffstat (limited to 'src/Java')
5 files changed, 504 insertions, 2 deletions
| diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java index 788d011733..23b2ad8e1a 100644 --- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java +++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java @@ -97,6 +97,7 @@ public class COMPAT_HANDLER {  			GregtechIndustrialWashPlant.run();  			GregtechSemiFluidgenerators.run();  			GregtechAdvancedMixer.run(); +			GregtechWirelessChargers.run();  			//New Horizons Content  			NewHorizonsAccelerator.run(); diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java index e9cddfecb8..71119ee00e 100644 --- a/src/Java/gtPlusPlus/core/lib/CORE.java +++ b/src/Java/gtPlusPlus/core/lib/CORE.java @@ -35,7 +35,7 @@ public class CORE {  	public static final String name = "GT++";  	public static final String MODID = "miscutils"; -	public static final String VERSION = "1.6.90-release"; +	public static final String VERSION = "1.6.91-release";  	public static String MASTER_VERSION = NetworkUtils.getContentFromURL("https://raw.githubusercontent.com/draknyte1/GTplusplus/master/Recommended.txt").toLowerCase();  	public static String USER_COUNTRY = GeoUtils.determineUsersCountry();  	public static boolean isModUpToDate = Utils.isModUpToDate(); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java index e4da291b17..6a797d9ce0 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java @@ -255,7 +255,12 @@ public enum GregtechItemList implements GregtechItemContainer {  	//Custom hatches  	Hatch_Input_Battery_MV, Hatch_Input_Battery_EV,  -	Hatch_Output_Battery_MV, Hatch_Output_Battery_EV, +	Hatch_Output_Battery_MV, Hatch_Output_Battery_EV,  +	 +	//Wireless Chargers +	Charger_LV,	Charger_MV, Charger_HV, +	Charger_EV,	Charger_IV,	Charger_LuV,  +	Charger_ZPM, Charger_UV, Charger_MAX, diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java new file mode 100644 index 0000000000..7239dc41ac --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java @@ -0,0 +1,455 @@ +package gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Textures; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.util.GT_Utility; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.array.BlockPos; +import gtPlusPlus.core.util.entity.EntityUtils; +import gtPlusPlus.core.util.player.PlayerUtils; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMetaTileEntity; +import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public class GregtechMetaWirelessCharger extends GregtechMetaTileEntity { + +	public GregtechMetaWirelessCharger(final int aID, final String aName, final String aNameRegional, final int aTier, final String aDescription, final int aSlotCount) { +		super(aID, aName, aNameRegional, aTier, aSlotCount, aDescription); +	} + +	public GregtechMetaWirelessCharger(final String aName, final int aTier, final String aDescription, final ITexture[][][] aTextures, final int aSlotCount) { +		super(aName, aTier, aSlotCount, aDescription, aTextures); +	} + +	@Override +	public String[] getDescription() { +		return new String[] {this.mDescription, +				"3 Modes, Long-Range, Local and Mixed.",  +				"Long-Range: Can supply 2A of power to a single player upto "+(this.mTier*4)+"m away.", +				"Local: Can supply 1A to each player within 50m.", +				"Mixed: Provides both 2A of long range and 1A per player locally.", +				"Mixed mode is more conservative of power and as a result only", +				"gets half the distances each singular mode gets.", +				CORE.GT_Tooltip}; +	} + +	@Override +	public ITexture[][][] getTextureSet(final ITexture[] aTextures) { +		final ITexture[][][] rTextures = new ITexture[10][17][]; +		for (byte i = -1; i < 16; i++) { +			rTextures[0][i + 1] = this.getFront(i); +			rTextures[1][i + 1] = this.getBack(i); +			rTextures[2][i + 1] = this.getBottom(i); +			rTextures[3][i + 1] = this.getTop(i); +			rTextures[4][i + 1] = this.getSides(i); +			rTextures[5][i + 1] = this.getFrontActive(i); +			rTextures[6][i + 1] = this.getBackActive(i); +			rTextures[7][i + 1] = this.getBottomActive(i); +			rTextures[8][i + 1] = this.getTopActive(i); +			rTextures[9][i + 1] = this.getSidesActive(i); +		} +		return rTextures; +	} + +	@Override +	public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final byte aSide, final byte aFacing, final byte aColorIndex, final boolean aActive, final boolean aRedstone) { +		return this.mTextures[(aActive ? 5 : 0) + (aSide == aFacing ? 0 : aSide == GT_Utility.getOppositeSide(aFacing) ? 1 : aSide == 0 ? 2 : aSide == 1 ? 3 : 4)][aColorIndex + 1]; +	} + + +	public ITexture[] getFront(final byte aColor) { +		return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier+3][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Screen_2)}; +	} + + +	public ITexture[] getBack(final byte aColor) { +		return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier+3][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom)}; +	} + + +	public ITexture[] getBottom(final byte aColor) { +		return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier+3][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom)}; +	} + + +	public ITexture[] getTop(final byte aColor) { +		return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier+3][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom)}; +	} + + +	public ITexture[] getSides(final byte aColor) { +		return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier+3][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom)}; +	} + + +	public ITexture[] getFrontActive(final byte aColor) { +		return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier+3][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Screen_2)}; +	} + + +	public ITexture[] getBackActive(final byte aColor) { +		return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier+3][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom)}; +	} + + +	public ITexture[] getBottomActive(final byte aColor) { +		return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier+3][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom)}; +	} + + +	public ITexture[] getTopActive(final byte aColor) { +		return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier+3][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom)}; +	} + + +	public ITexture[] getSidesActive(final byte aColor) { +		return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier+3][aColor + 1], new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Simple_Bottom)}; +	} + +	@Override +	public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { +		if (this.mMode >= 2){ +			this.mMode = 0; +		} +		else { +			this.mMode++; +		} +		if (this.mMode == 0){ +			PlayerUtils.messagePlayer(aPlayer, "Now in Long-Range Mode.");				 +		} +		else if (this.mMode == 1){ +			PlayerUtils.messagePlayer(aPlayer, "Now in Local Charge Mode.");				 +		} +		else { +			PlayerUtils.messagePlayer(aPlayer, "Now in Mixed Mode.");				 +		} +		super.onScrewdriverRightClick(aSide, aPlayer, aX, aY, aZ); +	} + +	@Override +	public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { +		return new GregtechMetaWirelessCharger(this.mName, this.mTier, this.mDescription, this.mTextures, this.mInventory.length); +	} + +	@Override public boolean isSimpleMachine()						{return false;} +	@Override public boolean isElectric()							{return true;} +	@Override public boolean isValidSlot(final int aIndex)				{return true;} +	@Override public boolean isFacingValid(final byte aFacing)			{return true;} +	@Override public boolean isEnetInput() 							{return true;} +	@Override public boolean isEnetOutput() 						{return false;} +	@Override public boolean isInputFacing(final byte aSide)				{return aSide!=this.getBaseMetaTileEntity().getFrontFacing();} +	@Override public boolean isOutputFacing(final byte aSide)				{return aSide==this.getBaseMetaTileEntity().getFrontFacing();} +	@Override public boolean isTeleporterCompatible()				{return false;} +	@Override public long getMinimumStoredEU()						{return 0;} +	@Override public long maxEUStore()								{return GT_Values.V[this.mTier]*32;} + +	@Override +	public int getCapacity() { +		return (int) (GT_Values.V[this.mTier]*32); +	} + +	@Override +	public long maxEUInput() { +		return GT_Values.V[this.mTier]; +	} + +	@Override +	public long maxEUOutput() { +		return 0; +	} + +	@Override +	public long maxAmperesIn() { +		if (this.mMode == 0){ +			return 2; +		} +		else if (this.mMode == 1){ +			return this.mLocalChargingMap.size(); +		} +		else { +			return (this.mLocalChargingMap.size()+this.mWirelessChargingMap.size()); +		} +	} + +	@Override +	public long maxAmperesOut() { +		return 0; +	} +	@Override public int rechargerSlotStartIndex()					{return 0;} +	@Override public int dechargerSlotStartIndex()					{return 0;} +	@Override public int rechargerSlotCount()						{return 0;} +	@Override public int dechargerSlotCount()						{return 0;} +	@Override public int getProgresstime()							{return (int)this.getBaseMetaTileEntity().getUniversalEnergyStored();} +	@Override public int maxProgresstime()							{return (int)this.getBaseMetaTileEntity().getUniversalEnergyCapacity();} +	@Override public boolean isAccessAllowed(final EntityPlayer aPlayer)	{return true;} + +	@Override +	public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) { +		if (aBaseMetaTileEntity.isClientSide()) +		{ +			return true; +		} +		return true; +	} + +	public int mMode = 0; + +	@Override +	public boolean allowPullStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, final byte aSide, final ItemStack aStack) { +		return false; +	} + +	@Override +	public boolean allowPutStack(final IGregTechTileEntity aBaseMetaTileEntity, final int aIndex, final byte aSide, final ItemStack aStack) { +		return false; +	} + +	@Override +	public String[] getInfoData() { +		return new String[] { +				this.getLocalName()}; +	} + +	@Override +	public boolean isGivingInformation() { +		return true; +	} + +	@Override +	public int[] getAccessibleSlotsFromSide(final int p_94128_1_) { +		return null; +	} + +	@Override +	public boolean canInsertItem(final int p_102007_1_, final ItemStack p_102007_2_, final int p_102007_3_) { +		return false; +	} + +	@Override +	public boolean canExtractItem(final int p_102008_1_, final ItemStack p_102008_2_, final int p_102008_3_) { +		return false; +	} + +	@Override +	public int getSizeInventory() { +		return 0; +	} + +	@Override +	public ItemStack getStackInSlot(final int p_70301_1_) { +		return null; +	} + +	@Override +	public ItemStack decrStackSize(final int p_70298_1_, final int p_70298_2_) { +		return null; +	} + +	@Override +	public ItemStack getStackInSlotOnClosing(final int p_70304_1_) { +		return null; +	} + +	@Override +	public void setInventorySlotContents(final int p_70299_1_, final ItemStack p_70299_2_) { +	} + +	@Override +	public String getInventoryName() { +		return null; +	} + +	@Override +	public boolean hasCustomInventoryName() { +		return false; +	} + +	@Override +	public int getInventoryStackLimit() { +		return 0; +	} + +	@Override +	public boolean isUseableByPlayer(final EntityPlayer p_70300_1_) { +		return false; +	} + +	@Override +	public void openInventory() { +	} + +	@Override +	public void closeInventory() { +	} + +	@Override +	public boolean isItemValidForSlot(final int p_94041_1_, final ItemStack p_94041_2_) { +		return false; +	} + +	@Override +	public boolean isOverclockerUpgradable() { +		return false; +	} + +	@Override +	public boolean isTransformerUpgradable() { +		return false; +	} + +	@Override +	public void saveNBTData(final NBTTagCompound aNBT) { +		aNBT.setInteger("mMode", this.mMode); +	} + +	@Override +	public void loadNBTData(final NBTTagCompound aNBT) { +		this.mMode = aNBT.getInteger("mMode"); +	} + +	@Override +	public void onFirstTick(final IGregTechTileEntity aBaseMetaTileEntity) { +		if (this.getBaseMetaTileEntity().isServerSide()) { + +		} +	} + + +	private Map<EntityPlayer, UUID> mWirelessChargingMap = new HashMap<EntityPlayer, UUID>(); +	private Map<UUID, EntityPlayer> mLocalChargingMap = new HashMap<UUID, EntityPlayer>(); + +	@Override +	public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { +		super.onPostTick(aBaseMetaTileEntity, aTick); +		if (this.getBaseMetaTileEntity().isServerSide()) { + + +			if (aTick % 20 == 0){ +				if (!aBaseMetaTileEntity.getWorld().playerEntities.isEmpty()){ +					for (Object mTempPlayer : aBaseMetaTileEntity.getWorld().playerEntities){ +						if (mTempPlayer instanceof EntityPlayer || mTempPlayer instanceof EntityPlayerMP){ +							EntityPlayer mTemp = (EntityPlayer) mTempPlayer; + +							if (this.mMode == 1 || this.mMode == 2){ +								int tempRange = (this.mMode == 1 ? 50 : 25); +								if (getDistanceBetweenTwoPositions(getTileEntityPosition(), getPositionOfEntity(mTemp)) < tempRange){ +									if (!mLocalChargingMap.containsKey(mTemp.getPersistentID())){ +										if (mLocalChargingMap.put(mTemp.getPersistentID(), mTemp) != null){ +											PlayerUtils.messagePlayer(mTemp, "You have entered charging range. ["+tempRange+"m]."); +										} +									} + +								} +								else { +									if (mLocalChargingMap.containsKey(mTemp.getPersistentID())){ +										if (mLocalChargingMap.remove(mTemp.getPersistentID()) != null){ +											PlayerUtils.messagePlayer(mTemp, "You have left charging range. ["+tempRange+"m].");	 +										} +									} +								} +							} +							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.put(mTemp, mTemp.getPersistentID()) != null){ +											PlayerUtils.messagePlayer(mTemp, "You have entered charging range. ["+tempRange+"m]."); +										} +									} + +								} +								else { +									if (mWirelessChargingMap.containsKey(mTemp)){ +										if (mWirelessChargingMap.remove(mTemp) != null){ +											PlayerUtils.messagePlayer(mTemp, "You have left charging range. ["+tempRange+"m].");	 +										} +									} +								} +							}  + +						} +					} +				} +			} + + +		}		 +	} + +	private BlockPos getTileEntityPosition(){ +		return new BlockPos(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()); +	} + +	private BlockPos getPositionOfEntity(Entity mEntity){ +		if (mEntity == null){ +			return null; +		} +		return EntityUtils.findBlockPosUnderEntity(mEntity); +	} + +	private double getDistanceBetweenTwoPositions(BlockPos objectA, BlockPos objectB){ +		int[] objectArray1 = new int[]{objectA.xPos, objectA.yPos, objectA.zPos}; +		int[] objectArray2 = new int[]{objectB.xPos, objectB.yPos, objectB.zPos}; +		if (objectA == null || objectB == null){ +			return 0f; +		} +		final double distance = Math.sqrt( +				(objectArray2[0]-objectArray1[0])*(objectArray2[0]-objectArray1[0]) +				+(objectArray2[1]-objectArray1[1])*(objectArray2[1]-objectArray1[1]) +				+(objectArray2[2]-objectArray1[2])*(objectArray2[2]-objectArray1[2])); +		return distance; +	} + +	@Override +	public void onRemoval() { +		mWirelessChargingMap.clear(); +		super.onRemoval(); +	} + +	@Override +	public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, +			EntityPlayer aPlayer, byte aSide, float aX, float aY, float aZ) { +		 +		int tempRange; +		 +		if (this.mMode == 0 || this.mMode == 2){ +			tempRange = (int) (this.mMode == 0 ? 4*GT_Values.V[this.mTier] : 2*GT_Values.V[this.mTier]);			 +		} +		else { +			tempRange = 50;			 +		} +		 +		if (this.mMode == 2){ +			PlayerUtils.messagePlayer(aPlayer, "Mixed Mode | Local: 25m | Long: "+tempRange);	 +		} +		else if (this.mMode == 1){ +			PlayerUtils.messagePlayer(aPlayer, "Local Mode: 50m");	 +			 +		} +		else { +			PlayerUtils.messagePlayer(aPlayer, "Long-range Mode: "+tempRange+"m");	 +			 +		} +		 +		return super.onRightclick(aBaseMetaTileEntity, aPlayer, aSide, aX, aY, aZ); +	} + +	@Override +	public void onServerStart() { +		mWirelessChargingMap.clear(); +		super.onServerStart(); +	} + +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java new file mode 100644 index 0000000000..f23dc3ab3d --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java @@ -0,0 +1,41 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaWirelessCharger; +import net.minecraft.item.ItemStack; + +public class GregtechWirelessChargers { + +	 +	public static void run(){ +		 +		long bitsd = GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE +				| GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED; +		int mID = 890; +		 +		GregtechItemList.Charger_LV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.01.tier.single", +				"Wireless Charger MK I", 4, "Hopefully won't give you cancer.", 0).getStackForm(1L)); +		GregtechItemList.Charger_MV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.02.tier.single", +				"Wireless Charger MK II", 4, "Hopefully won't give you cancer.", 0).getStackForm(1L)); +		GregtechItemList.Charger_HV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.03.tier.single", +				"Wireless Charger MK III", 4, "Hopefully won't give you cancer.", 0).getStackForm(1L)); +		GregtechItemList.Charger_EV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.04.tier.single", +				"Wireless Charger MK IV", 4, "Hopefully won't give you cancer.", 0).getStackForm(1L)); +		GregtechItemList.Charger_IV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.05.tier.single", +				"Wireless Charger MK V", 4, "Hopefully won't give you cancer.", 0).getStackForm(1L)); +		GregtechItemList.Charger_LuV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.06.tier.single", +				"Wireless Charger MK VI", 4, "Hopefully won't give you cancer.", 0).getStackForm(1L)); +		GregtechItemList.Charger_ZPM.set(new GregtechMetaWirelessCharger(mID++, "wificharger.07.tier.single", +				"Wireless Charger MK VII", 4, "Hopefully won't give you cancer.", 0).getStackForm(1L)); +		GregtechItemList.Charger_UV.set(new GregtechMetaWirelessCharger(mID++, "wificharger.08.tier.single", +				"Wireless Charger MK VIII", 4, "Hopefully won't give you cancer.", 0).getStackForm(1L)); +		GregtechItemList.Charger_MAX.set(new GregtechMetaWirelessCharger(mID++, "wificharger.09.tier.single", +				"Wireless Charger MK IX", 4, "Hopefully won't give you cancer.", 0).getStackForm(1L)); + +	} +	 +} | 
