aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/ic2/item/RotorBase.java
blob: 8f1dd7f47984aa2c1409167ac4f892b83c56ccbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package gtPlusPlus.xmod.ic2.item;

import java.util.List;

import ic2.api.item.IKineticRotor;
import ic2.core.block.kineticgenerator.gui.GuiWaterKineticGenerator;
import ic2.core.block.kineticgenerator.gui.GuiWindKineticGenerator;
import ic2.core.init.InternalName;
import ic2.core.item.resources.ItemWindRotor;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;

public class RotorBase extends ItemWindRotor {

	private final int				maxWindStrength;
	private final int				minWindStrength;
	private final int				radius;
	private final float				efficiency;
	private final ResourceLocation	renderTexture;
	private final boolean			water;

	public RotorBase(final InternalName internalName, final int Radius, final int durability, final float efficiency,
			final int minWindStrength, final int maxWindStrength, final ResourceLocation RenderTexture) {
		super(internalName, Radius, durability, efficiency, minWindStrength, maxWindStrength, RenderTexture);

		this.setMaxStackSize(1);
		this.setMaxDamage(durability);

		this.radius = Radius;
		this.efficiency = efficiency;
		this.renderTexture = RenderTexture;
		this.minWindStrength = minWindStrength;
		this.maxWindStrength = maxWindStrength;
		this.water = internalName != InternalName.itemwoodrotor;
	}

	@Override
	public void addInformation(final ItemStack itemStack, final EntityPlayer player, final List info, final boolean b) {
		info.add(StatCollector.translateToLocalFormatted("ic2.itemrotor.wind.info", new Object[] {
				Integer.valueOf(this.minWindStrength), Integer.valueOf(this.maxWindStrength)
		}));
		IKineticRotor.GearboxType type = null;
		if (Minecraft.getMinecraft().currentScreen != null
				&& Minecraft.getMinecraft().currentScreen instanceof GuiWaterKineticGenerator) {
			type = IKineticRotor.GearboxType.WATER;
		}
		else if (Minecraft.getMinecraft().currentScreen != null
				&& Minecraft.getMinecraft().currentScreen instanceof GuiWindKineticGenerator) {
			type = IKineticRotor.GearboxType.WIND;
		}
		if (type != null) {
			// info.add(StatCollector.translateToLocal("ic2.itemrotor.fitsin." +
			// isAcceptedType(itemStack, type)));
		}
	}

	@Override
	public int getDiameter(final ItemStack stack) {
		return this.radius;
	}

	@Override
	public float getEfficiency(final ItemStack stack) {
		return this.efficiency;
	}

	@Override
	public int getMaxWindStrength(final ItemStack stack) {
		return this.maxWindStrength;
	}

	@Override
	public int getMinWindStrength(final ItemStack stack) {
		return this.minWindStrength;
	}

	@Override
	public ResourceLocation getRotorRenderTexture(final ItemStack stack) {
		return this.renderTexture;
	}

	@Override
	public String getTextureFolder() {
		return "rotors";
	}

	@Override
	public boolean isAcceptedType(final ItemStack stack, final IKineticRotor.GearboxType type) {
		return type == IKineticRotor.GearboxType.WIND || this.water;
	}
}