Skip to content

Commit d5c1b89

Browse files
fixed heat vents
1 parent 996462f commit d5c1b89

10 files changed

Lines changed: 7276 additions & 6958 deletions

File tree

Lines changed: 13 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,36 @@
11
package com.recursive_pineapple.nuclear_horizons.reactors.items.basic;
22

3-
import java.util.Arrays;
43
import java.util.List;
54

65
import javax.annotation.Nonnull;
76
import javax.annotation.Nullable;
87

98
import net.minecraft.client.resources.I18n;
109
import net.minecraft.entity.player.EntityPlayer;
11-
import net.minecraft.item.Item;
1210
import net.minecraft.item.ItemStack;
1311

14-
import org.lwjgl.input.Keyboard;
15-
1612
import com.recursive_pineapple.nuclear_horizons.Config;
17-
import com.recursive_pineapple.nuclear_horizons.NuclearHorizons;
18-
import com.recursive_pineapple.nuclear_horizons.reactors.components.ComponentRegistry;
1913
import com.recursive_pineapple.nuclear_horizons.reactors.components.IComponentAdapter;
20-
import com.recursive_pineapple.nuclear_horizons.reactors.components.IComponentAdapterFactory;
2114
import com.recursive_pineapple.nuclear_horizons.reactors.components.IReactorGrid;
2215
import com.recursive_pineapple.nuclear_horizons.reactors.components.adapters.FuelRodAdapter;
23-
import com.recursive_pineapple.nuclear_horizons.reactors.items.HeatUtils;
2416
import com.recursive_pineapple.nuclear_horizons.reactors.items.interfaces.IBasicFuelRod;
2517

26-
import cpw.mods.fml.common.registry.GameRegistry;
27-
28-
public class BasicFuelRodItem extends Item implements IBasicFuelRod, IComponentAdapterFactory {
18+
public class BasicFuelRodItem extends ReactorItem implements IBasicFuelRod {
2919

30-
private final String name;
3120
private final double energyMult;
3221
private final double heatMult;
3322
private final int rodCount;
3423
private final boolean isMox;
35-
private final int maxHealth;
3624
private ItemStack product;
3725

3826
public BasicFuelRodItem(String name, String textureName, double energyMult, double heatMult, int rodCount,
3927
boolean isMox, int maxHealth) {
40-
setUnlocalizedName(name);
41-
setTextureName(NuclearHorizons.MODID + ":" + textureName);
42-
setMaxDamage(maxHealth);
28+
super(name, textureName, "damage", maxHealth);
4329

44-
this.name = name;
4530
this.energyMult = energyMult;
4631
this.heatMult = heatMult;
4732
this.rodCount = rodCount;
4833
this.isMox = isMox;
49-
this.maxHealth = maxHealth;
50-
}
51-
52-
public void register() {
53-
GameRegistry.registerItem(this, name);
54-
ComponentRegistry.registerAdapter(this, this);
55-
}
56-
57-
@Override
58-
public int getDamage(ItemStack stack) {
59-
return HeatUtils.getNBTInt(stack, "damage", 0);
60-
}
61-
62-
@Override
63-
public void setDamage(ItemStack stack, int damage) {
64-
HeatUtils.setNBTInt(stack, "damage", damage);
6534
}
6635

6736
@Override
@@ -84,11 +53,6 @@ public boolean isMox(@Nonnull ItemStack itemStack) {
8453
return isMox;
8554
}
8655

87-
@Override
88-
public int getRemainingHealth(@Nonnull ItemStack itemStack) {
89-
return this.maxHealth - itemStack.getItemDamage();
90-
}
91-
9256
@Override
9357
public void applyDamage(@Nonnull ItemStack itemStack, int damage) {
9458
itemStack.setItemDamage(itemStack.getItemDamage() + damage);
@@ -104,54 +68,25 @@ public BasicFuelRodItem setProduct(@Nullable ItemStack product) {
10468
return this;
10569
}
10670

107-
@Override
108-
public boolean canAdaptItem(@Nonnull ItemStack itemStack) {
109-
return itemStack.getItem() == this;
110-
}
111-
11271
@Override
11372
public @Nonnull IComponentAdapter getAdapter(@Nonnull ItemStack itemStack, @Nonnull IReactorGrid reactor, int x,
11473
int y) {
11574
return new FuelRodAdapter(reactor, x, y, itemStack, this);
11675
}
11776

11877
@Override
119-
public void addInformation(ItemStack itemStack, EntityPlayer player, List<String> desc,
120-
boolean advancedItemTooltips) {
121-
super.addInformation(itemStack, player, desc, advancedItemTooltips);
122-
123-
if (!advancedItemTooltips) {
124-
desc.addAll(
125-
Arrays.asList(
126-
I18n.format("nh_tooltip.durability", this.getRemainingHealth(itemStack), this.maxHealth)
127-
.split("\\\\n")));
78+
public void addReactorItemInfo(ItemStack itemStack, EntityPlayer player, List<String> chunks) {
79+
chunks.add(
80+
I18n.format(
81+
"nh_tooltip.fuel_rod.gen_stats",
82+
(int) (this.heatMult * Config.ROD_HU_MULTIPLIER),
83+
(int) (this.energyMult * Config.ROD_EU_MULTIPLIER),
84+
1 + this.rodCount / 2));
85+
86+
if (this.isMox) {
87+
chunks.add(I18n.format("nh_tooltip.fuel_rod.mox_stats", Config.MOX_EU_COEFFICIENT));
12888
}
12989

130-
if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT)) {
131-
desc.add(I18n.format("nh_tooltip.prelude"));
132-
133-
desc.addAll(
134-
Arrays.asList(
135-
I18n.format(
136-
"nh_tooltip.fuel_rod.gen_stats",
137-
(int) (this.heatMult * Config.ROD_HU_MULTIPLIER),
138-
(int) (this.energyMult * Config.ROD_EU_MULTIPLIER),
139-
1 + this.rodCount / 2)
140-
.split("\\\\n")));
141-
142-
if (this.isMox) {
143-
desc.addAll(
144-
Arrays.asList(
145-
I18n.format("nh_tooltip.fuel_rod.mox_stats", Config.MOX_EU_COEFFICIENT)
146-
.split("\\\\n")));
147-
}
148-
149-
desc.addAll(
150-
Arrays.asList(
151-
I18n.format("nh_tooltip.fuel_rod.heat_epilogue")
152-
.split("\\\\n")));
153-
} else {
154-
desc.add(I18n.format("nh_tooltip.more_info"));
155-
}
90+
chunks.add(I18n.format("nh_tooltip.fuel_rod.heat_epilogue"));
15691
}
15792
}
Lines changed: 10 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,43 @@
11
package com.recursive_pineapple.nuclear_horizons.reactors.items.basic;
22

3-
import java.util.List;
4-
53
import javax.annotation.Nonnull;
64
import javax.annotation.Nullable;
75

86
import net.minecraft.client.resources.I18n;
9-
import net.minecraft.entity.player.EntityPlayer;
10-
import net.minecraft.item.Item;
117
import net.minecraft.item.ItemStack;
128

13-
import com.recursive_pineapple.nuclear_horizons.NuclearHorizons;
14-
import com.recursive_pineapple.nuclear_horizons.reactors.components.ComponentRegistry;
159
import com.recursive_pineapple.nuclear_horizons.reactors.components.IComponentAdapter;
16-
import com.recursive_pineapple.nuclear_horizons.reactors.components.IComponentAdapterFactory;
1710
import com.recursive_pineapple.nuclear_horizons.reactors.components.IReactorGrid;
1811
import com.recursive_pineapple.nuclear_horizons.reactors.components.adapters.HeatAbsorberAdapter;
19-
import com.recursive_pineapple.nuclear_horizons.reactors.items.HeatUtils;
2012
import com.recursive_pineapple.nuclear_horizons.reactors.items.interfaces.IHeatContainer;
2113

22-
import cpw.mods.fml.common.registry.GameRegistry;
23-
24-
public class BasicHeatAbsorberItem extends Item implements IHeatContainer, IComponentAdapterFactory {
14+
public class BasicHeatAbsorberItem extends ReactorItem implements IHeatContainer {
2515

26-
private final String name;
27-
private final int maxHeat;
2816
private final boolean consumable;
2917

3018
private ItemStack product;
3119

3220
public BasicHeatAbsorberItem(String name, String textureName, int maxHeat, boolean consumable) {
33-
setUnlocalizedName(name);
34-
setTextureName(NuclearHorizons.MODID + ":" + textureName);
35-
setMaxDamage(maxHeat);
21+
super(name, textureName, "heat", maxHeat);
3622

37-
this.name = name;
38-
this.maxHeat = maxHeat;
3923
this.consumable = consumable;
4024
}
4125

42-
public void register() {
43-
GameRegistry.registerItem(this, name);
44-
ComponentRegistry.registerAdapter(this, this);
45-
}
46-
4726
@Override
48-
public int getDamage(ItemStack stack) {
49-
return HeatUtils.getNBTInt(stack, "neutrons", 0);
50-
}
51-
52-
@Override
53-
public void setDamage(ItemStack stack, int damage) {
54-
HeatUtils.setNBTInt(stack, "neutrons", damage);
27+
public int getStoredHeat(@Nonnull ItemStack itemStack) {
28+
return 0;
5529
}
5630

5731
public void setProduct(ItemStack product) {
5832
this.product = product;
5933
}
6034

61-
@Override
62-
public boolean canAdaptItem(@Nonnull ItemStack itemStack) {
63-
return itemStack.getItem() == this;
64-
}
65-
6635
@Override
6736
public @Nonnull IComponentAdapter getAdapter(@Nonnull ItemStack itemStack, @Nonnull IReactorGrid reactor, int x,
6837
int y) {
6938
return new HeatAbsorberAdapter(reactor, x, y, itemStack, this);
7039
}
7140

72-
@Override
73-
public int getStoredHeat(@Nonnull ItemStack itemStack) {
74-
return 0;
75-
}
76-
77-
@Override
78-
public int getRemainingHealth(@Nonnull ItemStack itemStack) {
79-
return this.maxHeat - itemStack.getItemDamage();
80-
}
81-
82-
@Override
83-
public int addHeat(@Nonnull ItemStack itemStack, int heat) {
84-
int consumed = HeatUtils.getConsumableHeat(this.maxHeat, itemStack.getItemDamage(), heat);
85-
86-
itemStack.setItemDamage(itemStack.getItemDamage() + consumed);
87-
88-
return heat - consumed;
89-
}
90-
91-
@Override
92-
public int getMaxHeat(@Nonnull ItemStack itemStack) {
93-
return this.maxHeat;
94-
}
95-
9641
@Override
9742
public boolean isConsumable(@Nonnull ItemStack itemStack) {
9843
return consumable;
@@ -104,10 +49,12 @@ public boolean isConsumable(@Nonnull ItemStack itemStack) {
10449
}
10550

10651
@Override
107-
public void addInformation(ItemStack itemStack, EntityPlayer player, List<String> desc,
108-
boolean advancedItemTooltips) {
109-
super.addInformation(itemStack, player, desc, advancedItemTooltips);
52+
protected String getDurabilityTooltip(ItemStack itemStack) {
53+
return I18n.format("nh_tooltip.stored_heat", itemStack.getItemDamage(), itemStack.getMaxDamage());
54+
}
11055

111-
desc.add(I18n.format("nh_tooltip.durability", itemStack.getItemDamage(), this.maxHeat));
56+
@Override
57+
protected boolean hasMoreInfo(ItemStack itemStack) {
58+
return false;
11259
}
11360
}

src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/basic/BasicHeatExchangerItem.java

Lines changed: 13 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -6,73 +6,25 @@
66

77
import net.minecraft.client.resources.I18n;
88
import net.minecraft.entity.player.EntityPlayer;
9-
import net.minecraft.item.Item;
109
import net.minecraft.item.ItemStack;
1110

12-
import org.lwjgl.input.Keyboard;
13-
14-
import com.recursive_pineapple.nuclear_horizons.NuclearHorizons;
15-
import com.recursive_pineapple.nuclear_horizons.reactors.components.ComponentRegistry;
1611
import com.recursive_pineapple.nuclear_horizons.reactors.components.IComponentAdapter;
17-
import com.recursive_pineapple.nuclear_horizons.reactors.components.IComponentAdapterFactory;
1812
import com.recursive_pineapple.nuclear_horizons.reactors.components.IReactorGrid;
1913
import com.recursive_pineapple.nuclear_horizons.reactors.components.adapters.HeatMoverAdapter;
2014
import com.recursive_pineapple.nuclear_horizons.reactors.items.HeatUtils;
2115
import com.recursive_pineapple.nuclear_horizons.reactors.items.interfaces.IHeatMover;
2216

23-
import cpw.mods.fml.common.registry.GameRegistry;
24-
25-
public class BasicHeatExchangerItem extends Item implements IHeatMover, IComponentAdapterFactory {
17+
public class BasicHeatExchangerItem extends ReactorItem implements IHeatMover {
2618

27-
private final String name;
2819
private final int maxHeatFromReactor;
2920
private final int maxHeatFromNeighbour;
30-
private final int maxHeat;
3121

3222
public BasicHeatExchangerItem(String name, String textureName, int maxHeatFromReactor, int maxHeatFromNeighbour,
3323
int maxHeat) {
34-
setUnlocalizedName(name);
35-
setTextureName(NuclearHorizons.MODID + ":" + textureName);
36-
setMaxDamage(maxHeat);
24+
super(name, textureName, "heat", maxHeat);
3725

38-
this.name = name;
3926
this.maxHeatFromReactor = maxHeatFromReactor;
4027
this.maxHeatFromNeighbour = maxHeatFromNeighbour;
41-
this.maxHeat = maxHeat;
42-
}
43-
44-
public void register() {
45-
GameRegistry.registerItem(this, name);
46-
ComponentRegistry.registerAdapter(this, this);
47-
}
48-
49-
@Override
50-
public int getDamage(ItemStack stack) {
51-
return HeatUtils.getNBTInt(stack, "heat", 0);
52-
}
53-
54-
@Override
55-
public void setDamage(ItemStack stack, int damage) {
56-
HeatUtils.setNBTInt(stack, "heat", damage);
57-
}
58-
59-
@Override
60-
public int getStoredHeat(@Nonnull ItemStack itemStack) {
61-
return itemStack.getItemDamage();
62-
}
63-
64-
@Override
65-
public int addHeat(@Nonnull ItemStack itemStack, int heat) {
66-
int consumed = HeatUtils.getConsumableHeat(this.maxHeat, this.getStoredHeat(itemStack), heat);
67-
68-
itemStack.setItemDamage(itemStack.getItemDamage() + consumed);
69-
70-
return heat - consumed;
71-
}
72-
73-
@Override
74-
public int getMaxHeat(@Nonnull ItemStack itemStack) {
75-
return this.maxHeat;
7628
}
7729

7830
@Override
@@ -99,38 +51,27 @@ public int getTransferToAir(@Nonnull ItemStack itemStack, @Nonnull IReactorGrid
9951
return 0;
10052
}
10153

102-
@Override
103-
public boolean canAdaptItem(@Nonnull ItemStack itemStack) {
104-
return itemStack.getItem() == this;
105-
}
106-
10754
@Override
10855
public @Nonnull IComponentAdapter getAdapter(@Nonnull ItemStack itemStack, @Nonnull IReactorGrid reactor, int x,
10956
int y) {
11057
return new HeatMoverAdapter(reactor, x, y, itemStack, this);
11158
}
11259

11360
@Override
114-
public void addInformation(ItemStack itemStack, EntityPlayer player, List<String> desc,
115-
boolean advancedItemTooltips) {
116-
super.addInformation(itemStack, player, desc, advancedItemTooltips);
61+
public void addReactorItemInfo(ItemStack itemStack, EntityPlayer player, List<String> chunks) {
62+
chunks.add(I18n.format("nh_tooltip.prelude"));
11763

118-
if (this.maxHeat > 0) {
119-
desc.add(I18n.format("nh_tooltip.durability", this.getStoredHeat(itemStack), this.maxHeat));
64+
if (this.maxHeatFromReactor > 0) {
65+
chunks.add(I18n.format("nh_tooltip.mover.reactor_xfer", this.maxHeatFromReactor));
12066
}
12167

122-
if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT)) {
123-
desc.add(I18n.format("nh_tooltip.prelude"));
124-
125-
if (this.maxHeatFromReactor > 0) {
126-
desc.add(I18n.format("nh_tooltip.mover.reactor_xfer", this.maxHeatFromReactor));
127-
}
128-
129-
if (this.maxHeatFromNeighbour > 0) {
130-
desc.add(I18n.format("nh_tooltip.exchanger.comp_xfer", this.maxHeatFromNeighbour));
131-
}
132-
} else {
133-
desc.add(I18n.format("nh_tooltip.more_info"));
68+
if (this.maxHeatFromNeighbour > 0) {
69+
chunks.add(I18n.format("nh_tooltip.exchanger.comp_xfer", this.maxHeatFromNeighbour));
13470
}
13571
}
72+
73+
@Override
74+
protected String getDurabilityTooltip(ItemStack itemStack) {
75+
return I18n.format("nh_tooltip.stored_heat", itemStack.getItemDamage(), itemStack.getMaxDamage());
76+
}
13677
}

0 commit comments

Comments
 (0)