Skip to content

Commit bfd8760

Browse files
committed
feat(machines): add and register new relics and machines (Petrifier and Terracotta Generator)
1 parent cfab04e commit bfd8760

File tree

2 files changed

+144
-0
lines changed

2 files changed

+144
-0
lines changed

src/main/java/me/voper/slimeframe/implementation/SFrameItems.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,17 @@ private void registerRelics() {
6565
Relic.create(SFrameStacks.MESO_B1).register(plugin);
6666
Relic.create(SFrameStacks.MESO_W1).register(plugin);
6767
Relic.create(SFrameStacks.MESO_S1).register(plugin);
68+
Relic.create(SFrameStacks.MESO_C1).register(plugin);
6869

6970
Relic.create(SFrameStacks.NEO_A1).register(plugin);
7071
Relic.create(SFrameStacks.NEO_C1).register(plugin);
7172
Relic.create(SFrameStacks.NEO_D1).register(plugin);
73+
Relic.create(SFrameStacks.NEO_P1).register(plugin);
7274

7375
Relic.create(SFrameStacks.AXI_F1).register(plugin);
7476
Relic.create(SFrameStacks.AXI_N1).register(plugin);
7577
Relic.create(SFrameStacks.AXI_G1).register(plugin);
78+
Relic.create(SFrameStacks.AXI_T1).register(plugin);
7679
}
7780

7881
private void registerResources() {
@@ -348,6 +351,24 @@ private void registerMachines() {
348351
PrimeComponents.createControlUnit(SFrameStacks.PRIME_GLASS_GENERATOR), PrimeComponents.createCoreModule(SFrameStacks.PRIME_GLASS_GENERATOR), PrimeComponents.createPowerCell(SFrameStacks.PRIME_GLASS_GENERATOR)
349352
}).setProduction(6).setProcessingSpeed(30).setEnergyPerTick(512).register(plugin);
350353

354+
new Putrifier(SFrameStacks.PUTRIFIER, new ItemStack[]{
355+
SFrameStacks.PYROTIC_ALLOY, SFrameStacks.BOOSTED_TELLURIUM, SFrameStacks.PYROTIC_ALLOY,
356+
XMaterial.SOUL_SOIL.parseItem(), XMaterial.SOUL_SAND.parseItem(), XMaterial.SOUL_SOIL.parseItem(),
357+
SlimefunItems.ELECTRIC_MOTOR, SlimefunItems.BIG_CAPACITOR, SlimefunItems.ELECTRIC_MOTOR
358+
}).setEnergyPerTick(128).register(plugin);
359+
360+
new Putrifier(SFrameStacks.ADV_PUTRIFIER, new ItemStack[]{
361+
SFrameStacks.RUBEDO, SFrameStacks.BOOSTED_TELLURIUM, SFrameStacks.RUBEDO,
362+
getAlloyPlate(SFrameStacks.VENERDO_ALLOY), SFrameStacks.PUTRIFIER, getAlloyPlate(SFrameStacks.VENERDO_ALLOY),
363+
SFrameStacks.CUBIC_DIODES, SFrameStacks.CONTROL_MODULE, SFrameStacks.CUBIC_DIODES
364+
}).setProduction(5).setProcessingSpeed(5).setEnergyPerTick(256).register(plugin);
365+
366+
new Putrifier(SFrameStacks.PRIME_PUTRIFIER, new ItemStack[]{
367+
SFrameStacks.BOOSTED_TELLURIUM, SFrameStacks.OROKIN_CELL, SFrameStacks.BOOSTED_TELLURIUM,
368+
getAlloyPlate(SFrameStacks.HESPAZYM_ALLOY), SFrameStacks.ADV_PUTRIFIER, getAlloyPlate(SFrameStacks.HESPAZYM_ALLOY),
369+
PrimeComponents.createControlUnit(SFrameStacks.PRIME_PUTRIFIER), PrimeComponents.createCoreModule(SFrameStacks.PRIME_PUTRIFIER), PrimeComponents.createPowerCell(SFrameStacks.PRIME_PUTRIFIER)
370+
}).setProduction(15).setProcessingSpeed(30).setEnergyPerTick(512).register(plugin);
371+
351372
new Recycler(Groups.MACHINES, SFrameStacks.RECYCLER, Foundry.RECIPE_TYPE, new ItemStack[]{
352373
SlimefunItems.REINFORCED_ALLOY_INGOT, XMaterial.PISTON.parseItem(), SlimefunItems.REINFORCED_ALLOY_INGOT,
353374
SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.ELECTRIC_FURNACE_3, SlimefunItems.REINFORCED_ALLOY_INGOT,
@@ -378,6 +399,24 @@ private void registerMachines() {
378399
SFrameStacks.CUBIC_DIODES, SFrameStacks.CONTROL_MODULE, SFrameStacks.CUBIC_DIODES
379400
}).setEnergyPerTick(512).register(plugin);
380401

402+
new TerracottaGenerator(SFrameStacks.TERRACOTTA_GENERATOR, new ItemStack[]{
403+
SFrameStacks.ADRAMAL_ALLOY, SlimefunItems.RAINBOW_GLAZED_TERRACOTTA, SFrameStacks.ADRAMAL_ALLOY,
404+
SlimefunItems.ELECTRIC_MOTOR, XMaterial.TERRACOTTA.parseItem(), SlimefunItems.ELECTRIC_MOTOR,
405+
SlimefunItems.ELECTRIC_MOTOR, SlimefunItems.MEDIUM_CAPACITOR, SlimefunItems.ELECTRIC_MOTOR
406+
}).setEnergyPerTick(128).register(plugin);
407+
408+
new TerracottaGenerator(SFrameStacks.ADV_TERRACOTTA_GEN, new ItemStack[]{
409+
SlimefunItems.REINFORCED_PLATE, SlimefunItems.REINFORCED_PLATE, SlimefunItems.REINFORCED_PLATE,
410+
getAlloyPlate(SFrameStacks.TRAVOCYTE_ALLOY), SFrameStacks.TERRACOTTA_GENERATOR, getAlloyPlate(SFrameStacks.TRAVOCYTE_ALLOY),
411+
SFrameStacks.CUBIC_DIODES, SFrameStacks.CONTROL_MODULE, SFrameStacks.CUBIC_DIODES
412+
}).setProcessingSpeed(5).setEnergyPerTick(256).register(plugin);
413+
414+
new TerracottaGenerator(SFrameStacks.PRIME_TERRACOTTA_GEN, new ItemStack[]{
415+
SFrameStacks.RUBEDO, SFrameStacks.OROKIN_CELL, SFrameStacks.RUBEDO,
416+
getAlloyPlate(SFrameStacks.AUROXIUM_ALLOY), SFrameStacks.ADV_TERRACOTTA_GEN, getAlloyPlate(SFrameStacks.AUROXIUM_ALLOY),
417+
PrimeComponents.createControlUnit(SFrameStacks.PRIME_TERRACOTTA_GEN), PrimeComponents.createCoreModule(SFrameStacks.PRIME_TERRACOTTA_GEN), PrimeComponents.createPowerCell(SFrameStacks.PRIME_TERRACOTTA_GEN)
418+
}).setProcessingSpeed(30).setEnergyPerTick(512).register(plugin);
419+
381420
new ThermiaExtractor(Groups.MACHINES, SFrameStacks.THERMIA_EXTRACTOR, Foundry.RECIPE_TYPE, new ItemStack[]{
382421
SlimefunItems.REINFORCED_ALLOY_INGOT, SlimefunItems.FLUID_PUMP, SlimefunItems.REINFORCED_ALLOY_INGOT,
383422
SFrameStacks.CRYOTIC, XMaterial.LODESTONE.parseItem(), SFrameStacks.CRYOTIC,
@@ -591,6 +630,8 @@ private void registerPrimeComponents() {
591630
new PrimeComponents(SFrameStacks.PRIME_DUST_GENERATOR);
592631
new PrimeComponents(SFrameStacks.PRIME_CHUNK_EATER);
593632
new PrimeComponents(SFrameStacks.PRIME_GLASS_GENERATOR);
633+
new PrimeComponents(SFrameStacks.PRIME_PUTRIFIER);
634+
new PrimeComponents(SFrameStacks.PRIME_TERRACOTTA_GEN);
594635
PrimeComponents.registerAll(plugin);
595636

596637
new UtilsComponents(SFrameStacks.PRIME_NOSAM_PICK);

src/main/java/me/voper/slimeframe/implementation/SFrameStacks.java

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1042,6 +1042,85 @@ public static ItemStack createPotion(@Nonnull PotionType type) {
10421042
Lore.production(6)
10431043
);
10441044

1045+
public static final SlimefunItemStack PUTRIFIER = SFrameTheme.sfStackFromTheme(
1046+
"WF_PUTRIFIER",
1047+
Material.SOUL_SAND,
1048+
MACHINES_THEME,
1049+
Colors.BROWN + "Putrifier",
1050+
"This machine is capable",
1051+
"of putrefying items",
1052+
"",
1053+
LoreBuilder.machine(MachineTier.GOOD, MachineType.MACHINE),
1054+
Lore.powerPerSecond(128),
1055+
Lore.speed(1)
1056+
);
1057+
1058+
public static final SlimefunItemStack ADV_PUTRIFIER = SFrameTheme.sfStackFromTheme(
1059+
"WF_PUTRIFIER_2",
1060+
Material.SOUL_SOIL,
1061+
MACHINES_THEME,
1062+
Colors.BROWN + "Advanced Putrifier",
1063+
"An improved version of",
1064+
"the Putrifier",
1065+
"",
1066+
LoreBuilder.machine(MachineTier.ADVANCED, MachineType.MACHINE),
1067+
Lore.powerPerSecond(256),
1068+
Lore.speed(5)
1069+
);
1070+
1071+
public static final SlimefunItemStack PRIME_PUTRIFIER = SFrameTheme.sfStackFromTheme(
1072+
"WF_PUTRIFIER_3",
1073+
Material.MUDDY_MANGROVE_ROOTS,
1074+
MACHINES_THEME,
1075+
ChatColor.GOLD + "Prime " + Colors.BROWN + "Putrifier",
1076+
"A cutting-edge version of the",
1077+
"Putrifier for anyone who",
1078+
"needs a massive production",
1079+
"",
1080+
LoreBuilder.machine(MachineTier.END_GAME, MachineType.MACHINE),
1081+
Lore.powerPerSecond(512),
1082+
Lore.speed(30)
1083+
);
1084+
1085+
public static final SlimefunItemStack TERRACOTTA_GENERATOR = SFrameTheme.sfStackFromTheme(
1086+
"WF_TERRACOTTA_GEN",
1087+
Material.LIGHT_BLUE_TERRACOTTA,
1088+
MACHINES_THEME.withNameColor(ChatColor.BLUE),
1089+
"Terracotta Generator",
1090+
"A machine that can generate",
1091+
"any non-glazed terracotta",
1092+
"",
1093+
LoreBuilder.machine(MachineTier.GOOD, MachineType.MACHINE),
1094+
Lore.powerPerSecond(128),
1095+
Lore.speed(1)
1096+
);
1097+
1098+
public static final SlimefunItemStack ADV_TERRACOTTA_GEN = SFrameTheme.sfStackFromTheme(
1099+
"WF_TERRACOTTA_GEN_2",
1100+
Material.BLUE_TERRACOTTA,
1101+
MACHINES_THEME.withNameColor(ChatColor.DARK_BLUE),
1102+
"Advanced Terracotta Generator",
1103+
"An improved version of the",
1104+
"Terracotta Generator",
1105+
"",
1106+
LoreBuilder.machine(MachineTier.ADVANCED, MachineType.MACHINE),
1107+
Lore.powerPerSecond(256),
1108+
Lore.speed(5)
1109+
);
1110+
1111+
public static final SlimefunItemStack PRIME_TERRACOTTA_GEN = SFrameTheme.sfStackFromTheme(
1112+
"WF_TERRACOTTA_GEN_3",
1113+
Material.PURPLE_TERRACOTTA,
1114+
MACHINES_THEME,
1115+
ChatColor.GOLD + "Prime " + ChatColor.LIGHT_PURPLE + "Terracotta Generator",
1116+
"The best version of the",
1117+
"Terracotta Generator",
1118+
"",
1119+
LoreBuilder.machine(MachineTier.END_GAME, MachineType.MACHINE),
1120+
Lore.powerPerSecond(512),
1121+
Lore.speed(30)
1122+
);
1123+
10451124
// Energy Generators
10461125
public static final SlimefunItemStack GRAVITECH_ENERCELL = SFrameTheme.sfStackFromTheme(
10471126
"WF_GRAVITECH_ENERCELL",
@@ -1291,6 +1370,30 @@ public static ItemStack createPotion(@Nonnull PotionType type) {
12911370
PrimeComponents.createCoreModule(PRIME_CHUNK_EATER)
12921371
);
12931372

1373+
public static final RelicItemStack MESO_C1 = new RelicItemStack(
1374+
"Meso C1",
1375+
Relic.Era.MESO,
1376+
new SlimefunItemStack[]{PrimeComponents.createControlUnit(PRIME_CRYOTIC_EXTRACTOR), PrimeComponents.createControlUnit(PRIME_PUTRIFIER), PrimeComponents.createControlUnit(PRIME_TERRACOTTA_GEN)},
1377+
new SlimefunItemStack[]{PrimeComponents.createPowerCell(PRIME_SULFATE_PRODUCER), SlimefunItems.ARMOR_AUTO_CRAFTER},
1378+
PrimeComponents.createCoreModule(PRIME_CONCRETE_GENERATOR)
1379+
);
1380+
1381+
public static final RelicItemStack NEO_P1 = new RelicItemStack(
1382+
"Neo P1",
1383+
Relic.Era.NEO,
1384+
new SlimefunItemStack[]{PrimeComponents.createControlUnit(PRIME_CONCRETE_GENERATOR), PrimeComponents.createControlUnit(PRIME_SULFATE_PRODUCER), SlimefunItems.CHARGING_BENCH},
1385+
new SlimefunItemStack[]{PrimeComponents.createPowerCell(PRIME_TERRACOTTA_GEN), SlimefunItems.LAVA_GENERATOR_2},
1386+
PrimeComponents.createCoreModule(PRIME_PUTRIFIER)
1387+
);
1388+
1389+
public static final RelicItemStack AXI_T1 = new RelicItemStack(
1390+
"Axi T1",
1391+
Relic.Era.AXI,
1392+
new SlimefunItemStack[]{UtilsComponents.createVoidShard(PRIME_NOSAM_PICK), PrimeComponents.createControlUnit(ASTRAL_PRIME_GENERATOR), SlimefunItems.EARTH_RUNE},
1393+
new SlimefunItemStack[]{PrimeComponents.createPowerCell(PRIME_PUTRIFIER), SlimefunItems.ARMORED_JETPACK},
1394+
PrimeComponents.createCoreModule(PRIME_TERRACOTTA_GEN)
1395+
);
1396+
12941397
static {
12951398
for (Field declaredField: SFrameStacks.class.getDeclaredFields()) {
12961399
try {

0 commit comments

Comments
 (0)