Skip to content

Commit 6ea8539

Browse files
Added research failure chance
1 parent e866cfb commit 6ea8539

File tree

4 files changed

+43
-8
lines changed

4 files changed

+43
-8
lines changed

src/main/java/com/mewo/hbmenhanced/ResearchBlock/Research.java

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,13 @@ public void Tier1(TileEntityT1 te) {
105105
// Consume the input
106106
input.stackSize--;
107107
te.inventory[mainSlot] = (input.stackSize <= 0) ? null : input;
108-
108+
ItemStack itemStack;
109109
if (!ResearchRegistry.isSuccessful(1)) {
110-
researchValue.multiply(0.8D);
110+
researchValue.multiply(0.6D);
111+
itemStack = new ItemStack(hbmenhanced.researchPoint, 1, 2);
112+
} else {
113+
itemStack = new ItemStack(hbmenhanced.researchPoint, 1);
111114
}
112-
ItemStack itemStack = new ItemStack(hbmenhanced.researchPoint, 1);
113115
getItemValues.setValues(researchValue, itemStack, te.team, input);
114116
te.inventory[outputSlot] = itemStack;
115117

@@ -199,10 +201,13 @@ public void Tier2(TileEntityT2 te) {
199201
te.inventory[mainSlot] = (input.stackSize <= 0) ? null : input;
200202

201203
// Create the research point output
204+
ItemStack itemStack;
202205
if (!ResearchRegistry.isSuccessful(2)) {
203-
researchValue.multiply(0.7D);
206+
researchValue.multiply(0.5D);
207+
itemStack = new ItemStack(hbmenhanced.researchPoint, 1, 2);
208+
} else {
209+
itemStack = new ItemStack(hbmenhanced.researchPoint, 1);
204210
}
205-
ItemStack itemStack = new ItemStack(hbmenhanced.researchPoint, 1);
206211
getItemValues.setValues(researchValue, itemStack, te.team, input);
207212
te.inventory[outputSlot] = itemStack;
208213
} else {
@@ -289,10 +294,13 @@ public void Tier3(TileEntityT3 te) {
289294
te.inventory[mainSlot] = (input.stackSize <= 0) ? null : input;
290295

291296
// produce output
297+
ItemStack itemStack;
292298
if (!ResearchRegistry.isSuccessful(3)) {
293-
researchValue.multiply(0.65D);
299+
researchValue.multiply(0.4D);
300+
itemStack = new ItemStack(hbmenhanced.researchPoint, 1, 2);
301+
} else {
302+
itemStack = new ItemStack(hbmenhanced.researchPoint, 1);
294303
}
295-
ItemStack itemStack = new ItemStack(hbmenhanced.researchPoint, 1);
296304
getItemValues.setValues(researchValue, itemStack, te.team, input);
297305
te.inventory[outputSlot] = itemStack;
298306
} else {

src/main/java/com/mewo/hbmenhanced/Util/ResearchUtil/ResearchItemUtil.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public static void initMaterials() {
4343
registerItem(ModItems.ingot_u233, "u233", EPIC);
4444
registerItem(ModItems.ingot_uranium, "uranium", EPIC);
4545
registerItem(ModItems.ingot_technetium, "technetium", EPIC);
46+
registerItem(ModItems.particle_copper, "apple", EPIC);
4647
}
4748

4849
public static void init() {
@@ -84,6 +85,9 @@ public static void init() {
8485
value("technetium", mapOf(
8586
pairOf(STRUCTURAL, 25)
8687
), 680);
88+
value("apple", mapOf(
89+
pairOf(STRUCTURAL, 69)
90+
), 25);
8791
}
8892

8993
public static String getMaterial(Item item) {

src/main/java/com/mewo/hbmenhanced/items/ItemResearchPoint.java

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import net.minecraft.item.ItemStack;
1313
import net.minecraft.nbt.NBTTagCompound;
1414
import net.minecraft.util.ChatComponentText;
15+
import net.minecraft.util.IIcon;
1516
import net.minecraft.world.World;
1617

1718
import java.util.EnumMap;
@@ -21,6 +22,9 @@
2122

2223
public class ItemResearchPoint extends Item {
2324

25+
@SideOnly(Side.CLIENT)
26+
private IIcon[] icons;
27+
2428
public ItemResearchPoint() {
2529
this.setCreativeTab(tabhbmenhanced);
2630
}
@@ -37,9 +41,28 @@ public void onCreated(ItemStack stack, World world, EntityPlayer player) {
3741
}
3842
}
3943

44+
@Override
4045
@SideOnly(Side.CLIENT)
4146
public void registerIcons(IIconRegister register) {
42-
this.itemIcon = register.registerIcon(hbmenhanced.MODID + ":" + this.getUnlocalizedName().substring(5));
47+
icons = new IIcon[getRpValue.researchType.values().length]; // Number of types
48+
getRpValue.researchType[] types = getRpValue.researchType.values();
49+
50+
String baseName = this.getUnlocalizedName().replace("item.", ""); // Remove 'item.' prefix
51+
52+
for (int i = 0; i < types.length; i++) {
53+
icons[i] = register.registerIcon(
54+
hbmenhanced.MODID + ":" + baseName + "_" + i
55+
);
56+
System.out.println(hbmenhanced.MODID + ":" + baseName + "_" + i);
57+
}
58+
}
59+
60+
61+
@Override
62+
@SideOnly(Side.CLIENT)
63+
public IIcon getIconFromDamage(int meta) {
64+
if (meta < 0 || meta >= icons.length) return itemIcon;
65+
return icons[meta];
4366
}
4467

4568
@Override
Binary file not shown.

0 commit comments

Comments
 (0)