Add fourth scene and convert indentation to tabs

This commit is contained in:
George Paton 2024-03-19 00:44:41 +11:00
parent 7f2411c216
commit 67fbcfd3c2
2 changed files with 202 additions and 130 deletions

View File

@ -22,180 +22,250 @@ import net.minecraftforge.common.util.ForgeDirection;
public class CanneryHadron extends CanneryBase {
@Override
public ItemStack getIcon() {
return new ItemStack(ModBlocks.hadron_core);
}
@Override
public ItemStack getIcon() {
return new ItemStack(ModBlocks.hadron_core);
}
@Override
public String getName() {
return "cannery.hadron";
}
@Override
public String getName() {
return "cannery.hadron";
}
@Override
public JarScript createScript() {
@Override
public JarScript createScript() {
WorldInAJar world = new WorldInAJar(25, 5, 25);
JarScript script = new JarScript(world);
// FIRST SCENE: Show and explain the core component
JarScene scene0 = new JarScene(script);
scene0.add(new ActionSetBlock(12, 2, 12, ModBlocks.hadron_core, ForgeDirection.NORTH.ordinal()));
scene0.add(new ActionSetZoom(4, 0));
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.0")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
// FIRST SCENE: Show and explain the core component
JarScene scene0 = new JarScene(script);
scene0.add(new ActionSetZoom(4, 0));
scene0.add(new ActionSetBlock(12, 2, 12, ModBlocks.hadron_core, ForgeDirection.NORTH.ordinal()));
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.0")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionWait(100));
scene0.add(new ActionRemoveActor(1));
scene0.add(new ActionWait(5));
scene0.add(new ActionWait(5));
scene0.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.1")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.1")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionWait(100));
scene0.add(new ActionRemoveActor(2));
scene0.add(new ActionWait(10));
scene0.add(new ActionWait(100));
scene0.add(new ActionRemoveActor(2));
scene0.add(new ActionWait(10));
scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -14, 4, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.2")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -14, 4, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.2")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionWait(80));
scene0.add(new ActionRemoveActor(3));
scene0.add(new ActionWait(5));
scene0.add(new ActionWait(80));
scene0.add(new ActionRemoveActor(3));
scene0.add(new ActionWait(5));
scene0.add(new ActionRotateBy(-90, 0, 10));
scene0.add(new ActionRotateBy(-90, 0, 10));
scene0.add(new ActionCreateActor(4, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 4, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.3")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionCreateActor(4, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 4, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.3")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionWait(80));
scene0.add(new ActionRemoveActor(4));
scene0.add(new ActionWait(5));
scene0.add(new ActionWait(80));
scene0.add(new ActionRemoveActor(4));
scene0.add(new ActionWait(5));
scene0.add(new ActionRotateBy(90, 0, 10));
scene0.add(new ActionRotateBy(90, 0, 10));
// SECOND SCENE: Begin building a coil around the core component
JarScene scene1 = new JarScene(script);
scene1.add(new ActionSetBlock(12, 2, 12, ModBlocks.hadron_core, ForgeDirection.NORTH.ordinal()));
// SECOND SCENE: Begin building a coil around the core component
JarScene scene1 = new JarScene(script);
scene1.add(new ActionSetZoom(4, 0));
scene1.add(new ActionSetZoom(-2, 10));
scene1.add(new ActionSetZoom(4, 0));
scene1.add(new ActionSetZoom(-2, 10));
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene1.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 12, ModBlocks.hadron_coil_alloy));
scene1.add(new ActionWait(2));
}
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene1.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 12, ModBlocks.hadron_coil_alloy));
scene1.add(new ActionWait(2));
}
scene1.add(new ActionWait(5));
scene1.add(new ActionWait(5));
scene1.add(new ActionCreateActor(5, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -25, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.4")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene1.add(new ActionCreateActor(5, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -25, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.4")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene1.add(new ActionWait(40));
scene1.add(new ActionWait(40));
for(Block block : new Block[] {
ModBlocks.hadron_coil_gold,
ModBlocks.hadron_coil_neodymium,
ModBlocks.hadron_coil_magtung,
ModBlocks.hadron_coil_schrabidium,
ModBlocks.hadron_coil_schrabidate,
ModBlocks.hadron_coil_starmetal,
ModBlocks.hadron_coil_chlorophyte,
ModBlocks.hadron_coil_mese
}) {
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene1.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 12, block));
scene1.add(new ActionWait(1));
}
for(Block block : new Block[] {
ModBlocks.hadron_coil_gold,
ModBlocks.hadron_coil_neodymium,
ModBlocks.hadron_coil_magtung,
ModBlocks.hadron_coil_schrabidium,
ModBlocks.hadron_coil_schrabidate,
ModBlocks.hadron_coil_starmetal,
ModBlocks.hadron_coil_chlorophyte,
ModBlocks.hadron_coil_mese
}) {
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene1.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 12, block));
scene1.add(new ActionWait(1));
}
scene1.add(new ActionWait(4));
}
scene1.add(new ActionWait(20));
scene1.add(new ActionRemoveActor(5));
scene1.add(new ActionWait(5));
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene1.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), 12, ModBlocks.hadron_plating));
scene1.add(new ActionWait(2));
}
scene1.add(new ActionCreateActor(6, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -40, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.5")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene1.add(new ActionWait(60));
scene1.add(new ActionRemoveActor(6));
scene1.add(new ActionWait(5));
// THIRD SCENE: Add the Access Terminal and Power Plug
JarScene scene2 = new JarScene(script);
scene1.add(new ActionWait(4));
}
scene2.add(new ActionSetBlock(12, 2, 12, ModBlocks.hadron_core, ForgeDirection.NORTH.ordinal()));
scene1.add(new ActionWait(20));
scene1.add(new ActionRemoveActor(5));
scene1.add(new ActionWait(5));
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene1.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), 12, ModBlocks.hadron_plating));
scene1.add(new ActionWait(2));
}
scene1.add(new ActionCreateActor(6, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -40, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.5")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene1.add(new ActionWait(60));
scene1.add(new ActionRemoveActor(6));
scene1.add(new ActionWait(5));
// THIRD SCENE: Add the Access Terminal and Power Plug
JarScene scene2 = new JarScene(script);
scene2.add(new ActionSetZoom(2, 0));
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene2.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 12, ModBlocks.hadron_coil_mese));
}
scene2.add(new ActionWait(5));
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene1.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), 12, ModBlocks.hadron_plating));
}
for(int i = 7; i >= 0; i--) {
double r = i * Math.PI / 4;
scene2.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 12, ModBlocks.hadron_coil_neodymium));
scene2.add(new ActionWait(1));
}
scene2.add(new ActionWait(5));
scene2.add(new ActionWait(20));
for(int i = 7; i >= 0; i--) {
double r = i * Math.PI / 4;
scene2.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 12, ModBlocks.hadron_coil_neodymium));
scene2.add(new ActionWait(1));
}
scene2.add(new ActionSetBlock(12 - 2, 2, 12, Blocks.air));
scene2.add(new ActionWait(20));
scene2.add(new ActionWait(15));
scene2.add(new ActionSetBlock(12 - 2, 2, 12, Blocks.air));
scene2.add(new ActionSetBlock(12 - 2, 2, 12, ModBlocks.hadron_access, ForgeDirection.EAST.ordinal()));
scene2.add(new ActionWait(15));
scene2.add(new ActionWait(10));
scene2.add(new ActionSetBlock(12 - 2, 2, 12, ModBlocks.hadron_access, ForgeDirection.EAST.ordinal()));
scene2.add(new ActionCreateActor(7, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 36, 18, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.6")}}, 100)
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
scene2.add(new ActionWait(80));
scene2.add(new ActionRemoveActor(7));
scene2.add(new ActionWait(20));
scene2.add(new ActionWait(10));
scene2.add(new ActionSetBlock(12, 2 + 2, 12, Blocks.air));
scene2.add(new ActionCreateActor(7, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 36, 18, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.6")}}, 100)
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
scene2.add(new ActionWait(80));
scene2.add(new ActionRemoveActor(7));
scene2.add(new ActionWait(20));
scene2.add(new ActionWait(15));
scene2.add(new ActionSetBlock(12, 2 + 2, 12, Blocks.air));
scene2.add(new ActionSetBlock(12, 2 + 2, 12, ModBlocks.hadron_power));
scene2.add(new ActionWait(15));
scene2.add(new ActionWait(10));
scene2.add(new ActionSetBlock(12, 2 + 2, 12, ModBlocks.hadron_power));
scene2.add(new ActionWait(10));
scene2.add(new ActionCreateActor(8, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -40, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.7")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene2.add(new ActionWait(80));
scene2.add(new ActionRemoveActor(8));
scene2.add(new ActionWait(20));
scene2.add(new ActionCreateActor(8, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -45, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.7")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene2.add(new ActionWait(80));
scene2.add(new ActionRemoveActor(8));
scene2.add(new ActionWait(20));
script.addScene(scene0).addScene(scene1).addScene(scene2);
return script;
}
// FOURTH SCENE: Add some coil segments and power them
JarScene scene3 = new JarScene(script);
scene3.add(new ActionSetZoom(2, 0));
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene3.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 11, ModBlocks.hadron_coil_neodymium));
scene3.add(new ActionWait(2));
}
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene3.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), 11, ModBlocks.hadron_plating));
scene3.add(new ActionWait(2));
}
scene3.add(new ActionWait(5));
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene3.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 10, ModBlocks.hadron_coil_neodymium));
scene3.add(new ActionWait(2));
}
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene3.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), 10, ModBlocks.hadron_plating));
scene3.add(new ActionWait(2));
}
scene3.add(new ActionWait(20));
scene3.add(new ActionSetBlock(12, 2 + 2, 10, Blocks.air));
scene3.add(new ActionWait(15));
scene3.add(new ActionSetBlock(12, 2 + 2, 10, ModBlocks.hadron_power));
scene3.add(new ActionWait(10));
scene3.add(new ActionCreateActor(9, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -28, -28, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.8")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene3.add(new ActionWait(20));
scene3.add(new ActionCreateActor(10, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -12, 28, new Object[][] {{I18nUtil.resolveKey("50 x 8 = 400 = 4MHE")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
scene3.add(new ActionWait(20));
scene3.add(new ActionWait(80));
scene3.add(new ActionRemoveActor(9));
scene3.add(new ActionWait(10));
scene3.add(new ActionCreateActor(11, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -45, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.9")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene3.add(new ActionWait(80));
scene3.add(new ActionRemoveActor(11));
scene3.add(new ActionWait(10));
scene3.add(new ActionRemoveActor(10));
// FIFTH SCENE: Add a bend to the coil
// SIXTH SCENE: Reach the Analysis Chamber
// ADDENDUM SCENE: Linear accelerators
// ADDENDUM SCENE: Schottky diodes
script.addScene(scene0).addScene(scene1).addScene(scene2).addScene(scene3);
return script;
}
}

View File

@ -532,6 +532,8 @@ cannery.hadron.4=A coil segment is constructed by using 8 Dense Coils with nothi
cannery.hadron.5=This coil segment must itself also be enclosed within Particle Accelerator Plating
cannery.hadron.6=To access the Core Component, you'll need to add one or more Access Terminals
cannery.hadron.7=The Core Component will also require power to operate, add a power plug on an edge
cannery.hadron.8=The Accelerator will require enough Power Plugs to supply at least 10KHE of electricity per unit of Coil Strength
cannery.hadron.9=Note that the coil segment that wraps around the Core Component is not factored into the Coil Strength calculation
chem.ARSENIC=Arsenic Extraction
chem.ASPHALT=Asphalt Production