This commit is contained in:
Boblet 2025-09-18 16:08:27 +02:00
parent 715ecda0dd
commit aaa046e4eb
11 changed files with 120 additions and 940 deletions

View File

@ -1,6 +1,9 @@
## Changed
* Added more QMAW pages
* Removed most old particle accelerator blocks from the creative inventory
* All dual wielded guns now render more accurately when dropped instead of only showing one gun
* Added support for left handed guns (currently unused)*
* Removed the presentations for the old particle accelerator and schottky diode
## Fixed
* Fixed wood burner only being able to create one ash pile per item burned, even when that item yields more, creating a backlog in the internal ash value

View File

@ -89,6 +89,12 @@ public class ModEventHandlerRenderer {
ModelRenderer box = getBoxFromType(renderer, EnumPlayerPart.LEFT_ARM);
box.isHidden = true;
}
if(renderGun.isLeftHanded()) {
partsHidden[EnumPlayerPart.LEFT_ARM.ordinal()] = true;
partsHidden[EnumPlayerPart.RIGHT_ARM.ordinal()] = true;
getBoxFromType(renderer, EnumPlayerPart.LEFT_ARM).isHidden = true;
getBoxFromType(renderer, EnumPlayerPart.RIGHT_ARM).isHidden = true;
}
}
}
@ -121,6 +127,7 @@ public class ModEventHandlerRenderer {
RenderPlayer renderer = event.renderer;
boolean akimbo = false;
boolean leftHand = false;
ItemStack held = player.getHeldItem();
@ -128,9 +135,8 @@ public class ModEventHandlerRenderer {
IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(held, IItemRenderer.ItemRenderType.EQUIPPED);
if(customRenderer instanceof ItemRenderWeaponBase) {
ItemRenderWeaponBase renderGun = (ItemRenderWeaponBase) customRenderer;
if(renderGun.isAkimbo()) {
akimbo = true;
}
if(renderGun.isAkimbo()) akimbo = true;
if(renderGun.isLeftHanded()) leftHand = true;
}
}
@ -148,6 +154,23 @@ public class ModEventHandlerRenderer {
}
}
if(leftHand) {
ModelBiped biped = renderer.modelBipedMain;
renderer.modelArmorChestplate.bipedLeftArm.rotateAngleY = renderer.modelArmor.bipedLeftArm.rotateAngleY = biped.bipedLeftArm.rotateAngleY =
0.1F + biped.bipedHead.rotateAngleY;
renderer.modelArmorChestplate.bipedRightArm.rotateAngleY = renderer.modelArmor.bipedRightArm.rotateAngleY = biped.bipedRightArm.rotateAngleY =
-0.5F + biped.bipedHead.rotateAngleY;
if(!isManly) {
AbstractClientPlayer acp = (AbstractClientPlayer) player;
Minecraft.getMinecraft().getTextureManager().bindTexture(acp.getLocationSkin());
biped.bipedLeftArm.isHidden = false;
biped.bipedLeftArm.render(0.0625F);
biped.bipedRightArm.isHidden = false;
biped.bipedRightArm.render(0.0625F);
}
}
if(isManly) {
if(manlyModel == null)
manlyModel = new ModelMan();
@ -200,6 +223,11 @@ public class ModEventHandlerRenderer {
ModelBiped biped = renderer.modelBipedMain;
renderer.modelArmorChestplate.bipedLeftArm.rotateAngleY = renderer.modelArmor.bipedLeftArm.rotateAngleY = biped.bipedLeftArm.rotateAngleY = 0.1F + biped.bipedHead.rotateAngleY;
}
if(renderGun.isLeftHanded()) {
ModelBiped biped = renderer.modelBipedMain;
renderer.modelArmorChestplate.bipedLeftArm.rotateAngleY = renderer.modelArmor.bipedLeftArm.rotateAngleY = biped.bipedLeftArm.rotateAngleY = 0.1F + biped.bipedHead.rotateAngleY;
renderer.modelArmorChestplate.bipedRightArm.rotateAngleY = renderer.modelArmor.bipedRightArm.rotateAngleY = biped.bipedRightArm.rotateAngleY = -0.5F + biped.bipedHead.rotateAngleY;
}
}
}
}
@ -216,7 +244,7 @@ public class ModEventHandlerRenderer {
if(customRenderer instanceof ItemRenderWeaponBase) {
ItemRenderWeaponBase renderWeapon = (ItemRenderWeaponBase) customRenderer;
if(renderWeapon.isAkimbo()) {
if(renderWeapon.isAkimbo() || renderWeapon.isLeftHanded()) {
GL11.glPushMatrix();
renderer.modelBipedMain.bipedLeftArm.isHidden = false;
renderer.modelBipedMain.bipedLeftArm.postRender(0.0625F);
@ -235,8 +263,14 @@ public class ModEventHandlerRenderer {
GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F);
renderWeapon.setupThirdPersonAkimbo(held);
renderWeapon.renderEquippedAkimbo(held);
if(renderWeapon.isLeftHanded()) {
GL11.glTranslatef(0.1875F, 0F, 0.0F);
renderWeapon.setupThirdPerson(held);
renderWeapon.renderEquippedAkimbo(held);
} else {
renderWeapon.setupThirdPersonAkimbo(held);
renderWeapon.renderEquippedAkimbo(held);
}
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glPopMatrix();
}

View File

@ -193,6 +193,27 @@ public class ItemRenderDANI extends ItemRenderWeaponBase {
ResourceManager.bio_revolver.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}
@Override
public void renderEntity(ItemStack stack) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glPushMatrix();
GL11.glTranslated(-2, 1, 0);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dani_lunar_tex);
ResourceManager.bio_revolver.renderAll();
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(2, 1, 0);
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.dani_celestial_tex);
ResourceManager.bio_revolver.renderAll();
GL11.glPopMatrix();
GL11.glShadeModel(GL11.GL_FLAT);
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {

View File

@ -238,6 +238,34 @@ public class ItemRenderEOTT extends ItemRenderWeaponBase {
public void renderModTable(ItemStack stack, int index) {
renderOther(stack, ItemRenderType.INVENTORY);
}
@Override
public void renderEntity(ItemStack stack) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.eott_tex);
GL11.glTranslated(-1, 1, 0);
ResourceManager.aberrator.renderPart("Gun");
ResourceManager.aberrator.renderPart("Hammer");
ResourceManager.aberrator.renderPart("Magazine");
ResourceManager.aberrator.renderPart("Slide");
ResourceManager.aberrator.renderPart("Sight");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(1, 1, 0);
ResourceManager.aberrator.renderPart("Gun");
ResourceManager.aberrator.renderPart("Hammer");
ResourceManager.aberrator.renderPart("Magazine");
ResourceManager.aberrator.renderPart("Slide");
ResourceManager.aberrator.renderPart("Sight");
GL11.glPopMatrix();
GL11.glShadeModel(GL11.GL_FLAT);
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {

View File

@ -19,7 +19,7 @@ public class ItemRenderHeavyRevolver extends ItemRenderWeaponBase {
public ItemRenderHeavyRevolver(ResourceLocation texture) {
this.texture = texture;
}
@Override
protected float getTurnMagnitude(ItemStack stack) { return ItemGunBaseNT.getIsAiming(stack) ? 2.5F : -0.25F; }

View File

@ -180,6 +180,28 @@ public class ItemRenderMareslegAkimbo extends ItemRenderWeaponBase {
public void renderModTable(ItemStack stack, int index) {
renderOther(stack, ItemRenderType.INVENTORY);
}
@Override
public void renderEntity(ItemStack stack) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.maresleg_tex);
GL11.glTranslated(-1, 1, 0);
ResourceManager.maresleg.renderPart("Gun");
ResourceManager.maresleg.renderPart("Lever");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(1, 1, 0);
ResourceManager.maresleg.renderPart("Gun");
ResourceManager.maresleg.renderPart("Lever");
GL11.glPopMatrix();
GL11.glShadeModel(GL11.GL_FLAT);
}
@Override
public void renderOther(ItemStack stack, ItemRenderType type) {

View File

@ -195,6 +195,7 @@ public class ItemRenderUziAkimbo extends ItemRenderWeaponBase {
GL11.glShadeModel(GL11.GL_FLAT);
}
@Override
public void renderEntity(ItemStack stack) {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);

View File

@ -33,8 +33,9 @@ public abstract class ItemRenderWeaponBase implements IItemRenderer {
public static final ResourceLocation laser_flash = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/laser_flash.png");
public static float interp;
public boolean isAkimbo() { return false; }
public boolean isLeftHanded() { return false; }
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
@ -53,7 +54,8 @@ public abstract class ItemRenderWeaponBase implements IItemRenderer {
GL11.glEnable(GL11.GL_CULL_FACE);
switch(type) {
case EQUIPPED_FIRST_PERSON: setupFirstPerson(item); renderFirstPerson(item); break;
case EQUIPPED: setupThirdPerson(item); renderEquipped(item); break;
case EQUIPPED:
if(isLeftHanded()) break; setupThirdPerson(item); renderEquipped(item); break;
case INVENTORY: setupInv(item); renderInv(item); break;
case ENTITY: setupEntity(item); renderEntity(item); break;
}

View File

@ -1,679 +0,0 @@
package com.hbm.wiaj.cannery;
import com.hbm.blocks.ModBlocks;
import com.hbm.util.i18n.I18nUtil;
import com.hbm.wiaj.JarScene;
import com.hbm.wiaj.JarScript;
import com.hbm.wiaj.WorldInAJar;
import com.hbm.wiaj.actions.ActionCreateActor;
import com.hbm.wiaj.actions.ActionOffsetBy;
import com.hbm.wiaj.actions.ActionRemoveActor;
import com.hbm.wiaj.actions.ActionRotateBy;
import com.hbm.wiaj.actions.ActionSetBlock;
import com.hbm.wiaj.actions.ActionSetZoom;
import com.hbm.wiaj.actions.ActionWait;
import com.hbm.wiaj.actors.ActorFancyPanel;
import com.hbm.wiaj.actors.ActorFancyPanel.Orientation;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraftforge.common.util.ForgeDirection;
public class CanneryHadron extends CanneryBase {
@Override
public ItemStack getIcon() {
return new ItemStack(ModBlocks.hadron_core);
}
@Override
public String getName() {
return "cannery.hadron";
}
@Override
public CanneryBase[] seeAlso() {
return new CanneryBase[] {
new CannerySchottky()
};
}
@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 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 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 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 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 ActionWait(80));
scene0.add(new ActionRemoveActor(4));
scene0.add(new ActionWait(5));
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 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));
}
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 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));
}
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);
scene2.add(new ActionSetZoom(2, 0));
scene2.add(new ActionWait(5));
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(20));
scene2.add(new ActionSetBlock(12 - 2, 2, 12, Blocks.air));
scene2.add(new ActionWait(15));
scene2.add(new ActionSetBlock(12 - 2, 2, 12, ModBlocks.hadron_access, ForgeDirection.EAST.ordinal()));
scene2.add(new ActionWait(10));
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 ActionSetBlock(12, 2 + 2, 12, Blocks.air));
scene2.add(new ActionWait(15));
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, -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));
// 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(40));
scene3.add(new ActionCreateActor(10, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -12, 28, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.math.0")}, {I18nUtil.resolveKey("cannery.hadron.math.1")}}, 0)
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
scene3.add(new ActionWait(40));
scene3.add(new ActionRemoveActor(10));
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_starmetal));
scene3.add(new ActionWait(1));
}
scene3.add(new ActionCreateActor(13, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -12, 28, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.math.2")}, {I18nUtil.resolveKey("cannery.hadron.math.3")}}, 0)
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
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(5));
scene3.add(new ActionCreateActor(12, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -45, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.10")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene3.add(new ActionWait(80));
scene3.add(new ActionRemoveActor(12));
scene3.add(new ActionWait(10));
scene3.add(new ActionRemoveActor(13));
for(int i = 7; i >= 0; 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(1));
}
// FIFTH SCENE: Add a bend to the coil
JarScene scene4 = new JarScene(script);
scene4.add(new ActionSetZoom(2, 0));
scene4.add(new ActionOffsetBy(0, 0, 4, 10));
scene4.add(new ActionRotateBy(90, 0, 10));
// BEGIN CORNER SEGMENT
for(int z = 9; z >= 7; z--) {
for(int x = 11; x <= 14; x++) {
if(z == 7 && x == 11) continue;
scene4.add(new ActionSetBlock(x, 0, z, ModBlocks.hadron_plating));
scene4.add(new ActionWait(2));
}
}
for(int z = 9; z >= 6; z--) {
for(int x = 10; x <= 14; x++) {
if(z == 6 && x <= 11) continue;
if(z <= 7 && x == 10) continue;
scene4.add(new ActionSetBlock(x, 1, z, z == 6 || x == 10 || (z == 7 && x == 11) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium));
scene4.add(new ActionWait(2));
}
}
for(int z = 9; z >= 6; z--) {
for(int x = 10; x <= 14; x++) {
if(z == 6 && x <= 11) continue;
if(z <= 7 && x == 10) continue;
if(z == 9 && x == 12) continue;
if(z == 8 && x == 12) continue;
if(z == 8 && x == 13) continue;
if(z == 8 && x == 14) continue;
scene4.add(new ActionSetBlock(x, 2, z, z == 6 || x == 10 || (z == 7 && x == 11) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium));
scene4.add(new ActionWait(2));
}
}
// END CORNER SEGMENT
scene4.add(new ActionWait(5));
scene4.add(new ActionCreateActor(14, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -8, -35, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.11")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene4.add(new ActionWait(80));
scene4.add(new ActionRemoveActor(14));
scene4.add(new ActionWait(5));
scene4.add(new ActionCreateActor(15, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 24, -16, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.12")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene4.add(new ActionWait(80));
scene4.add(new ActionRemoveActor(15));
scene4.add(new ActionWait(10));
for(int z = 9; z >= 6; z--) {
for(int x = 10; x <= 14; x++) {
if(z == 6 && x <= 11) continue;
if(z <= 7 && x == 10) continue;
scene4.add(new ActionSetBlock(x, 3, z, z == 6 || x == 10 || (z == 7 && x == 11) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium));
scene4.add(new ActionWait(2));
}
}
for(int z = 9; z >= 7; z--) {
for(int x = 11; x <= 14; x++) {
if(z == 7 && x == 11) continue;
scene4.add(new ActionSetBlock(x, 4, z, ModBlocks.hadron_plating));
scene4.add(new ActionWait(2));
}
}
scene4.add(new ActionWait(10));
scene4.add(new ActionSetBlock(14, 2 + 2, 8, Blocks.air));
scene4.add(new ActionWait(10));
scene4.add(new ActionSetBlock(14, 2 + 2, 8, ModBlocks.hadron_power));
scene4.add(new ActionWait(10));
// SIXTH SCENE: Reach the Analysis Chamber
JarScene scene5 = new JarScene(script);
scene5.add(new ActionSetZoom(2, 0));
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene5.add(new ActionSetBlock(15, 2 + (int)(Math.sin(r) * 1.5F), 8 + (int)(Math.cos(r) * 1.5F), ModBlocks.hadron_coil_neodymium));
scene5.add(new ActionWait(1));
}
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene5.add(new ActionSetBlock(15, 2 + (int)(Math.sin(r) * 2.75F), 8 + (int)(Math.cos(r) * 2.75F), ModBlocks.hadron_plating));
scene5.add(new ActionWait(1));
}
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene5.add(new ActionSetBlock(16, 2 + (int)(Math.sin(r) * 1.5F), 8 + (int)(Math.cos(r) * 1.5F), ModBlocks.hadron_coil_neodymium));
scene5.add(new ActionWait(1));
}
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene5.add(new ActionSetBlock(16, 2 + (int)(Math.sin(r) * 2.75F), 8 + (int)(Math.cos(r) * 2.75F), i == 3 ? ModBlocks.hadron_power : ModBlocks.hadron_plating));
scene5.add(new ActionWait(1));
}
// BEGIN CORNER SEGMENT
for(int x = 17; x <= 19; x++) {
for(int z = 10; z >= 7; z--) {
if(z == 7 && x == 19) continue;
scene5.add(new ActionSetBlock(x, 0, z, ModBlocks.hadron_plating));
scene5.add(new ActionWait(1));
}
}
for(int x = 17; x <= 20; x++) {
for(int z = 10; z >= 6; z--) {
if(z == 6 && x >= 19) continue;
if(z <= 7 && x == 20) continue;
scene5.add(new ActionSetBlock(x, 1, z, z == 6 || x == 20 || (z == 7 && x == 19) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium));
scene5.add(new ActionWait(1));
}
}
for(int x = 17; x <= 20; x++) {
for(int z = 10; z >= 6; z--) {
if(z == 6 && x >= 19) continue;
if(z <= 7 && x == 20) continue;
if(z == 9 && x == 18) continue;
if(z == 8 && x == 18) continue;
if(z == 8 && x == 17) continue;
if(z == 10 && x == 18) continue;
scene5.add(new ActionSetBlock(x, 2, z, z == 6 || x == 20 || (z == 7 && x == 19) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium));
scene5.add(new ActionWait(1));
}
}
for(int x = 17; x <= 20; x++) {
for(int z = 10; z >= 6; z--) {
if(z == 6 && x >= 19) continue;
if(z <= 7 && x == 20) continue;
scene5.add(new ActionSetBlock(x, 3, z, z == 6 || x == 20 || (z == 7 && x == 19) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium));
scene5.add(new ActionWait(1));
}
}
for(int x = 17; x <= 19; x++) {
for(int z = 10; z >= 7; z--) {
if(z == 7 && x == 19) continue;
scene5.add(new ActionSetBlock(x, 4, z, ModBlocks.hadron_plating));
scene5.add(new ActionWait(1));
}
}
// END CORNER SEGMENT
scene5.add(new ActionRotateBy(-90, 0, 5));
scene5.add(new ActionOffsetBy(0, 0, -8, 10));
scene5.add(new ActionRotateBy(-90, 0, 10));
scene5.add(new ActionSetZoom(-1, 10));
for(int z = 11; z <= 20; z++) {
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene5.add(new ActionSetBlock(18 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), z, ModBlocks.hadron_coil_neodymium));
if(z == 11 || z == 20) scene5.add(new ActionWait(1));
}
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene5.add(new ActionSetBlock(18 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), z, i == 3 && z % 3 == 0 ? ModBlocks.hadron_power : ModBlocks.hadron_plating));
if(z == 11 || z == 20) scene5.add(new ActionWait(1));
}
scene5.add(new ActionWait(z < 13 || z > 18 ? 2 : 1));
}
// SEVENTH SCENE: Actually build the Analysis Chamber
JarScene scene6 = new JarScene(script);
scene6.add(new ActionSetZoom(1, 0));
scene6.add(new ActionSetZoom(1, 10));
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene6.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 13, ModBlocks.hadron_coil_neodymium));
scene6.add(new ActionWait(1));
}
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene6.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), 13, ModBlocks.hadron_plating));
scene6.add(new ActionWait(1));
}
for(int z = 14; z <= 16; z++) {
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene6.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), z, i == 6 ? ModBlocks.hadron_analysis_glass : ModBlocks.hadron_analysis));
scene6.add(new ActionWait(2));
}
}
scene6.add(new ActionWait(10));
scene6.add(new ActionCreateActor(16, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, 0, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.13")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene6.add(new ActionWait(100));
scene6.add(new ActionRemoveActor(16));
scene6.add(new ActionWait(10));
for(int z = 17; z <= 20; z++) {
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene6.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), z, ModBlocks.hadron_coil_neodymium));
if(z == 17 || z == 20) scene6.add(new ActionWait(1));
}
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene6.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), z, i == 3 && (z == 18 || z == 20) ? ModBlocks.hadron_power : ModBlocks.hadron_plating));
if(z == 17 || z == 20) scene6.add(new ActionWait(1));
}
scene6.add(new ActionWait(1));
}
scene6.add(new ActionSetZoom(-1, 10));
// BEGIN CORNER SEGMENT
for(int x = 17; x <= 19; x++) {
for(int z = 23; z >= 21; z--) {
if(z == 23 && x == 19) continue;
scene6.add(new ActionSetBlock(x, 0, z, ModBlocks.hadron_plating));
scene6.add(new ActionWait(1));
}
}
for(int x = 17; x <= 20; x++) {
for(int z = 24; z >= 21; z--) {
if(z == 24 && x >= 19) continue;
if(z >= 23 && x == 20) continue;
scene6.add(new ActionSetBlock(x, 1, z, z == 24 || x == 20 || (z == 23 && x == 19) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium));
scene6.add(new ActionWait(1));
}
}
for(int x = 17; x <= 20; x++) {
for(int z = 24; z >= 21; z--) {
if(z == 24 && x >= 19) continue;
if(z >= 23 && x == 20) continue;
if(z == 21 && x == 18) continue;
if(z == 22 && x == 18) continue;
if(z == 22 && x == 17) continue;
if(z == 20 && x == 18) continue;
scene6.add(new ActionSetBlock(x, 2, z, z == 24 || x == 20 || (z == 23 && x == 19) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium));
scene6.add(new ActionWait(1));
}
}
for(int x = 17; x <= 20; x++) {
for(int z = 24; z >= 21; z--) {
if(z == 24 && x >= 19) continue;
if(z >= 23 && x == 20) continue;
scene6.add(new ActionSetBlock(x, 3, z, z == 24 || x == 20 || (z == 23 && x == 19) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium));
scene6.add(new ActionWait(1));
}
}
for(int x = 17; x <= 19; x++) {
for(int z = 23; z >= 21; z--) {
if(z == 23 && x == 19) continue;
scene6.add(new ActionSetBlock(x, 4, z, ModBlocks.hadron_plating));
scene6.add(new ActionWait(1));
}
}
// END CORNER SEGMENT
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene6.add(new ActionSetBlock(16, 2 + (int)(Math.sin(r) * 1.5F), 22 + (int)(Math.cos(r) * 1.5F), ModBlocks.hadron_coil_neodymium));
scene6.add(new ActionWait(1));
}
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene6.add(new ActionSetBlock(16, 2 + (int)(Math.sin(r) * 2.75F), 22 + (int)(Math.cos(r) * 2.75F), i == 3 ? ModBlocks.hadron_power : ModBlocks.hadron_plating));
scene6.add(new ActionWait(1));
}
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene6.add(new ActionSetBlock(15, 2 + (int)(Math.sin(r) * 1.5F), 22 + (int)(Math.cos(r) * 1.5F), ModBlocks.hadron_coil_neodymium));
scene6.add(new ActionWait(1));
}
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene6.add(new ActionSetBlock(15, 2 + (int)(Math.sin(r) * 2.75F), 22 + (int)(Math.cos(r) * 2.75F), ModBlocks.hadron_plating));
scene6.add(new ActionWait(1));
}
for(int i = 0; i < 8; i++) {
double r = i * Math.PI / 4;
scene6.add(new ActionSetBlock(14, 2 + (int)(Math.sin(r) * 1.5F), 22 + (int)(Math.cos(r) * 1.5F), ModBlocks.hadron_coil_neodymium));
scene6.add(new ActionWait(1));
}
for(int i = 0; i < 12; i++) {
double r = i * Math.PI / 6;
scene6.add(new ActionSetBlock(14, 2 + (int)(Math.sin(r) * 2.75F), 22 + (int)(Math.cos(r) * 2.75F), i == 3 ? ModBlocks.hadron_power : ModBlocks.hadron_plating));
scene6.add(new ActionWait(1));
}
// BEGIN CORNER SEGMENT
for(int x = 11; x <= 13; x++) {
for(int z = 23; z >= 21; z--) {
if(z == 23 && x == 11) continue;
scene6.add(new ActionSetBlock(x, 0, z, ModBlocks.hadron_plating));
scene6.add(new ActionWait(1));
}
}
for(int x = 10; x <= 13; x++) {
for(int z = 24; z >= 21; z--) {
if(z == 24 && x <= 11) continue;
if(z >= 23 && x == 10) continue;
scene6.add(new ActionSetBlock(x, 1, z, z == 24 || x == 10 || (z == 23 && x == 11) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium));
scene6.add(new ActionWait(1));
}
}
for(int x = 10; x <= 13; x++) {
for(int z = 24; z >= 21; z--) {
if(z == 24 && x <= 11) continue;
if(z >= 23 && x == 10) continue;
if(z == 21 && x == 12) continue;
if(z == 22 && x == 12) continue;
if(z == 22 && x == 13) continue;
scene6.add(new ActionSetBlock(x, 2, z, z == 24 || x == 10 || (z == 23 && x == 11) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium));
scene6.add(new ActionWait(1));
}
}
for(int x = 10; x <= 13; x++) {
for(int z = 24; z >= 21; z--) {
if(z == 24 && x <= 11) continue;
if(z >= 23 && x == 10) continue;
scene6.add(new ActionSetBlock(x, 3, z, z == 24 || x == 10 || (z == 23 && x == 11) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium));
scene6.add(new ActionWait(1));
}
}
for(int x = 11; x <= 13; x++) {
for(int z = 23; z >= 21; z--) {
if(z == 23 && x == 11) continue;
scene6.add(new ActionSetBlock(x, 4, z, ModBlocks.hadron_plating));
scene6.add(new ActionWait(1));
}
}
// END CORNER SEGMENT
scene6.add(new ActionWait(10));
scene6.add(new ActionCreateActor(17, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -50, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.14")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene6.add(new ActionWait(100));
scene6.add(new ActionRemoveActor(17));
scene6.add(new ActionWait(10));
// ADDENDUM SCENE: Schottky diodes
// ADDENDUM SCENE: Cooling
script
.addScene(scene0)
.addScene(scene1)
.addScene(scene2)
.addScene(scene3)
.addScene(scene4)
.addScene(scene5)
.addScene(scene6);
return script;
}
}

View File

@ -1,250 +0,0 @@
package com.hbm.wiaj.cannery;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems;
import com.hbm.tileentity.machine.TileEntityHadronDiode;
import com.hbm.util.i18n.I18nUtil;
import com.hbm.wiaj.JarScene;
import com.hbm.wiaj.JarScript;
import com.hbm.wiaj.WorldInAJar;
import com.hbm.wiaj.actions.ActionCreateActor;
import com.hbm.wiaj.actions.ActionRemoveActor;
import com.hbm.wiaj.actions.ActionRotateBy;
import com.hbm.wiaj.actions.ActionSetBlock;
import com.hbm.wiaj.actions.ActionSetTile;
import com.hbm.wiaj.actions.ActionSetZoom;
import com.hbm.wiaj.actions.ActionWait;
import com.hbm.wiaj.actors.ActorFancyPanel;
import com.hbm.wiaj.actors.ActorFancyPanel.Orientation;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
public class CannerySchottky extends CanneryBase {
@Override
public ItemStack getIcon() {
return new ItemStack(ModBlocks.hadron_diode);
}
@Override
public String getName() {
return "cannery.schottky";
}
@Override
public CanneryBase[] seeAlso() {
return new CanneryBase[] {
new CanneryHadron()
};
}
@Override
public JarScript createScript() {
WorldInAJar world = new WorldInAJar(5, 5, 5);
JarScript script = new JarScript(world);
// FIRST SCENE: Show and explain the diode
JarScene scene0 = new JarScene(script);
scene0.add(new ActionSetZoom(4, 0));
scene0.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode()));
scene0.add(new ActionSetBlock(2, 2, 2, ModBlocks.hadron_diode));
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.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 ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.1")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene0.add(new ActionWait(80));
scene0.add(new ActionRemoveActor(1));
scene0.add(new ActionWait(10));
scene0.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -14, 8, new Object[][] {{new ItemStack(ModItems.screwdriver)}}, 0)
.setColors(colorCopper).setOrientation(Orientation.RIGHT)));
scene0.add(new ActionWait(20));
scene0.add(new ActionRemoveActor(2));
scene0.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode() {{ sides[2] = DiodeConfig.IN; }}));
scene0.add(new ActionWait(10));
scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -14, 8, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.2")}}, 100)
.setColors(colorCopper).setOrientation(Orientation.RIGHT)));
scene0.add(new ActionWait(60));
scene0.add(new ActionRemoveActor(3));
scene0.add(new ActionWait(10));
scene0.add(new ActionCreateActor(4, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 8, new Object[][] {{new ItemStack(ModItems.screwdriver)}}, 0)
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
scene0.add(new ActionWait(10));
scene0.add(new ActionRemoveActor(4));
scene0.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode() {{ sides[2] = DiodeConfig.IN; sides[4] = DiodeConfig.IN; }}));
scene0.add(new ActionWait(5));
scene0.add(new ActionCreateActor(5, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 8, new Object[][] {{new ItemStack(ModItems.screwdriver)}}, 0)
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
scene0.add(new ActionWait(10));
scene0.add(new ActionRemoveActor(5));
scene0.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode() {{ sides[2] = DiodeConfig.IN; sides[4] = DiodeConfig.OUT; }}));
scene0.add(new ActionWait(10));
scene0.add(new ActionCreateActor(6, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 8, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.3")}}, 100)
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
scene0.add(new ActionWait(60));
scene0.add(new ActionRemoveActor(6));
scene0.add(new ActionWait(10));
// SECOND SCENE: Add another entrance and exit
JarScene scene1 = new JarScene(script);
scene1.add(new ActionSetZoom(4, 0));
scene1.add(new ActionRotateBy(180, 0, 10));
scene1.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -14, 8, new Object[][] {{new ItemStack(ModItems.screwdriver)}}, 0)
.setColors(colorCopper).setOrientation(Orientation.RIGHT)));
scene1.add(new ActionWait(10));
scene1.add(new ActionRemoveActor(2));
scene1.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode() {{ sides[2] = DiodeConfig.IN; sides[4] = DiodeConfig.OUT; sides[3] = DiodeConfig.IN; }}));
scene1.add(new ActionWait(10));
scene1.add(new ActionCreateActor(4, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 8, new Object[][] {{new ItemStack(ModItems.screwdriver)}}, 0)
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
scene1.add(new ActionWait(10));
scene1.add(new ActionRemoveActor(4));
scene1.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode() {{ sides[2] = DiodeConfig.IN; sides[4] = DiodeConfig.OUT; sides[3] = DiodeConfig.IN; sides[5] = DiodeConfig.IN; }}));
scene1.add(new ActionWait(5));
scene1.add(new ActionCreateActor(5, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 8, new Object[][] {{new ItemStack(ModItems.screwdriver)}}, 0)
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
scene1.add(new ActionWait(10));
scene1.add(new ActionRemoveActor(5));
scene1.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode() {{ sides[2] = DiodeConfig.IN; sides[4] = DiodeConfig.OUT; sides[3] = DiodeConfig.IN; sides[5] = DiodeConfig.OUT; }}));
scene1.add(new ActionWait(10));
scene1.add(new ActionRotateBy(-180, 0, 10));
scene1.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.4")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene1.add(new ActionWait(100));
scene1.add(new ActionRemoveActor(1));
scene1.add(new ActionWait(10));
scene1.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.5")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene1.add(new ActionWait(100));
scene1.add(new ActionRemoveActor(1));
scene1.add(new ActionWait(10));
scene1.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.6")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene1.add(new ActionWait(100));
scene1.add(new ActionRemoveActor(1));
scene1.add(new ActionWait(10));
scene1.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.7")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene1.add(new ActionWait(100));
scene1.add(new ActionRemoveActor(1));
scene1.add(new ActionWait(10));
scene1.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.8")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene1.add(new ActionWait(100));
scene1.add(new ActionRemoveActor(1));
scene1.add(new ActionWait(10));
// THIRD SCENE: Correctly enclose the diode
JarScene scene2 = new JarScene(script);
scene2.add(new ActionSetZoom(4, 0));
scene2.add(new ActionSetZoom(-2, 10));
for(int x = 0; x < 5; x++) {
for(int z = 0; z < 5; z++) {
if((x == 0 || x == 4) && (z == 0 || z == 4)) continue;
scene2.add(new ActionSetBlock(x, 0, z, ModBlocks.hadron_plating));
scene2.add(new ActionWait(1));
}
}
for(int x = 0; x < 5; x++) {
for(int z = 0; z < 5; z++) {
scene2.add(new ActionSetBlock(x, 1, z, (x == 0 || x == 4) && (z == 0 || z == 4) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_alloy));
scene2.add(new ActionWait(1));
}
}
for(int x = 0; x < 5; x++) {
for(int z = 0; z < 5; z++) {
if(x == 2 || z == 2) continue;
scene2.add(new ActionSetBlock(x, 2, z, (x == 0 || x == 4) && (z == 0 || z == 4) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_alloy));
scene2.add(new ActionWait(1));
}
}
scene2.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.9")}}, 200)
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
scene2.add(new ActionRotateBy(360, 0, 100));
scene2.add(new ActionRemoveActor(1));
scene2.add(new ActionWait(10));
for(int x = 0; x < 5; x++) {
for(int z = 0; z < 5; z++) {
scene2.add(new ActionSetBlock(x, 3, z, (x == 0 || x == 4) && (z == 0 || z == 4) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_alloy));
scene2.add(new ActionWait(1));
}
}
for(int x = 0; x < 5; x++) {
for(int z = 0; z < 5; z++) {
if((x == 0 || x == 4) && (z == 0 || z == 4)) continue;
scene2.add(new ActionSetBlock(x, 4, z, ModBlocks.hadron_plating));
scene2.add(new ActionWait(1));
}
}
script
.addScene(scene0)
.addScene(scene1)
.addScene(scene2);
return script;
}
}

View File

@ -23,8 +23,6 @@ public class Jars {
canneries.put(new ComparableStack(ModBlocks.machine_silex), new CannerySILEX());
canneries.put(new ComparableStack(ModBlocks.foundry_channel), new CanneryFoundryChannel());
canneries.put(new ComparableStack(ModBlocks.machine_crucible), new CanneryCrucible());
canneries.put(new ComparableStack(ModBlocks.hadron_core), new CanneryHadron());
canneries.put(new ComparableStack(ModBlocks.hadron_diode), new CannerySchottky());
canneries.put(new ComparableStack(DictFrame.fromOne(ModItems.plant_item, EnumPlantType.MUSTARDWILLOW)), new CanneryWillow());
canneries.put(new ComparableStack(DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.CD0)), new CanneryWillow());