mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
tintable WIAJ arrow, EntityThrowableInterp
This commit is contained in:
parent
0eb2679264
commit
7a500e3fb5
@ -13,27 +13,13 @@ import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.util.MovingObjectPosition.MovingObjectType;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class EntityCog extends EntityThrowableNT {
|
||||
|
||||
private int turnProgress;
|
||||
private double syncPosX;
|
||||
private double syncPosY;
|
||||
private double syncPosZ;
|
||||
private double syncYaw;
|
||||
private double syncPitch;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private double velocityX;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private double velocityY;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private double velocityZ;
|
||||
public class EntityCog extends EntityThrowableInterp {
|
||||
|
||||
public EntityCog(World world) {
|
||||
super(world);
|
||||
@ -145,41 +131,9 @@ public class EntityCog extends EntityThrowableNT {
|
||||
if(orientation >= 6 && !this.inGround) {
|
||||
this.dataWatcher.updateObject(10, orientation - 6);
|
||||
}
|
||||
super.onUpdate();
|
||||
} else {
|
||||
if(this.turnProgress > 0) {
|
||||
double interpX = this.posX + (this.syncPosX - this.posX) / (double) this.turnProgress;
|
||||
double interpY = this.posY + (this.syncPosY - this.posY) / (double) this.turnProgress;
|
||||
double interpZ = this.posZ + (this.syncPosZ - this.posZ) / (double) this.turnProgress;
|
||||
double d = MathHelper.wrapAngleTo180_double(this.syncYaw - (double) this.rotationYaw);
|
||||
this.rotationYaw = (float) ((double) this.rotationYaw + d / (double) this.turnProgress);
|
||||
this.rotationPitch = (float)((double)this.rotationPitch + (this.syncPitch - (double)this.rotationPitch) / (double)this.turnProgress);
|
||||
--this.turnProgress;
|
||||
this.setPosition(interpX, interpY, interpZ);
|
||||
} else {
|
||||
this.setPosition(this.posX, this.posY, this.posZ);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) {
|
||||
this.velocityX = this.motionX = p_70016_1_;
|
||||
this.velocityY = this.motionY = p_70016_3_;
|
||||
this.velocityZ = this.motionZ = p_70016_5_;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void setPositionAndRotation2(double x, double y, double z, float yaw, float pitch, int theNumberThree) {
|
||||
this.syncPosX = x;
|
||||
this.syncPosY = y;
|
||||
this.syncPosZ = z;
|
||||
this.syncYaw = yaw;
|
||||
this.syncPitch = pitch;
|
||||
this.turnProgress = theNumberThree;
|
||||
this.motionX = this.velocityX;
|
||||
this.motionY = this.velocityY;
|
||||
this.motionZ = this.velocityZ;
|
||||
|
||||
super.onUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -0,0 +1,82 @@
|
||||
package com.hbm.entity.projectile;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public abstract class EntityThrowableInterp extends EntityThrowableNT {
|
||||
|
||||
private int turnProgress;
|
||||
private double syncPosX;
|
||||
private double syncPosY;
|
||||
private double syncPosZ;
|
||||
private double syncYaw;
|
||||
private double syncPitch;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private double velocityX;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private double velocityY;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private double velocityZ;
|
||||
|
||||
public EntityThrowableInterp(World world) {
|
||||
super(world);
|
||||
}
|
||||
|
||||
public EntityThrowableInterp(World world, double x, double y, double z) {
|
||||
super(world, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
int orientation = this.dataWatcher.getWatchableObjectInt(10);
|
||||
if(orientation >= 6 && !this.inGround) {
|
||||
this.dataWatcher.updateObject(10, orientation - 6);
|
||||
}
|
||||
super.onUpdate();
|
||||
} else {
|
||||
if(this.turnProgress > 0) {
|
||||
double interpX = this.posX + (this.syncPosX - this.posX) / (double) this.turnProgress;
|
||||
double interpY = this.posY + (this.syncPosY - this.posY) / (double) this.turnProgress;
|
||||
double interpZ = this.posZ + (this.syncPosZ - this.posZ) / (double) this.turnProgress;
|
||||
double d = MathHelper.wrapAngleTo180_double(this.syncYaw - (double) this.rotationYaw);
|
||||
this.rotationYaw = (float) ((double) this.rotationYaw + d / (double) this.turnProgress);
|
||||
this.rotationPitch = (float)((double)this.rotationPitch + (this.syncPitch - (double)this.rotationPitch) / (double)this.turnProgress);
|
||||
--this.turnProgress;
|
||||
this.setPosition(interpX, interpY, interpZ);
|
||||
} else {
|
||||
this.setPosition(this.posX, this.posY, this.posZ);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void setVelocity(double velX, double velY, double velZ) {
|
||||
this.velocityX = this.motionX = velX;
|
||||
this.velocityY = this.motionY = velY;
|
||||
this.velocityZ = this.motionZ = velZ;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void setPositionAndRotation2(double x, double y, double z, float yaw, float pitch, int theNumberThree) {
|
||||
this.syncPosX = x;
|
||||
this.syncPosY = y;
|
||||
this.syncPosZ = z;
|
||||
this.syncYaw = yaw;
|
||||
this.syncPitch = pitch;
|
||||
this.turnProgress = theNumberThree + approachNum();
|
||||
this.motionX = this.velocityX;
|
||||
this.motionY = this.velocityY;
|
||||
this.motionZ = this.velocityZ;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return a number added to the basic "3" of the approach progress value. Larger numbers make the approach smoother, but lagging behind the true value more.
|
||||
*/
|
||||
public int approachNum() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -758,7 +758,7 @@ public class ModEventHandlerClient {
|
||||
CanneryBase cannery = Jars.canneries.get(comp);
|
||||
|
||||
if(cannery != null) {
|
||||
FMLCommonHandler.instance().showGuiScreen(new GuiWorldInAJar(cannery.createScript(), cannery.getIcon()));
|
||||
FMLCommonHandler.instance().showGuiScreen(new GuiWorldInAJar(cannery.createScript(), cannery.getName(), cannery.getIcon()));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
@ -10,7 +10,10 @@ import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.util.I18nUtil;
|
||||
import com.hbm.wiaj.actors.ActorFancyPanel;
|
||||
import com.hbm.wiaj.actors.ISpecialActor;
|
||||
import com.hbm.wiaj.actors.ActorFancyPanel.Orientation;
|
||||
import com.hbm.wiaj.cannery.*;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
@ -33,19 +36,23 @@ public class GuiWorldInAJar extends GuiScreen {
|
||||
private static final ResourceLocation guiUtil = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_utility.png");
|
||||
|
||||
RenderBlocks renderer;
|
||||
JarScript testScript;
|
||||
JarScript jarScript;
|
||||
ItemStack icon;
|
||||
ActorFancyPanel titlePanel;
|
||||
CanneryBase[] seeAlso;
|
||||
ActorFancyPanel[] seeAlsoTitles;
|
||||
|
||||
public GuiWorldInAJar(JarScript script, ItemStack icon, CanneryBase... seeAlso) {
|
||||
public GuiWorldInAJar(JarScript script, String title, ItemStack icon, CanneryBase... seeAlso) {
|
||||
super();
|
||||
this.fontRendererObj = Minecraft.getMinecraft().fontRenderer;
|
||||
|
||||
this.testScript = script;
|
||||
this.jarScript = script;
|
||||
this.icon = icon;
|
||||
this.seeAlso = seeAlso;
|
||||
renderer = new RenderBlocks(testScript.world);
|
||||
renderer.enableAO = true;
|
||||
this.renderer = new RenderBlocks(jarScript.world);
|
||||
this.renderer.enableAO = true;
|
||||
|
||||
this.titlePanel = new ActorFancyPanel(fontRendererObj, 40, 27, new Object[][] {{I18nUtil.resolveKey(title)}}, 0).setColors(CanneryBase.colorGold).setOrientation(Orientation.LEFT);
|
||||
|
||||
/*WorldInAJar world = new WorldInAJar(15, 15, 15);
|
||||
|
||||
@ -143,11 +150,11 @@ public class GuiWorldInAJar extends GuiScreen {
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
this.drawDefaultBackground();
|
||||
shittyHack = this;
|
||||
//shittyHack = this;
|
||||
|
||||
try {
|
||||
if(testScript != null) {
|
||||
testScript.run();
|
||||
if(jarScript != null) {
|
||||
jarScript.run();
|
||||
}
|
||||
this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
@ -170,25 +177,25 @@ public class GuiWorldInAJar extends GuiScreen {
|
||||
if(width / 2 - 12 <= mouseX && width / 2 - 12 + 24 > mouseX && height - 36 < mouseY && height - 36 + 24 >= mouseY) {
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
|
||||
if(this.testScript.isPaused()) {
|
||||
this.testScript.unpause();
|
||||
if(this.jarScript.isPaused()) {
|
||||
this.jarScript.unpause();
|
||||
} else {
|
||||
this.testScript.pause();
|
||||
this.jarScript.pause();
|
||||
}
|
||||
}
|
||||
|
||||
if(width / 2 - 12 - 36 <= mouseX && width / 2 - 12 - 36 + 24 > mouseX && height - 36 < mouseY && height - 36 + 24 >= mouseY) {
|
||||
|
||||
if(this.testScript.sceneNumber > 0) {
|
||||
this.testScript.rewindOne();
|
||||
if(this.jarScript.sceneNumber > 0) {
|
||||
this.jarScript.rewindOne();
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
}
|
||||
}
|
||||
|
||||
if(width / 2 - 12 + 36 <= mouseX && width / 2 - 12 + 36 + 24 > mouseX && height - 36 < mouseY && height - 36 + 24 >= mouseY) {
|
||||
|
||||
if(this.testScript.sceneNumber < this.testScript.scenes.size()) {
|
||||
this.testScript.forwardOne();
|
||||
if(this.jarScript.sceneNumber < this.jarScript.scenes.size()) {
|
||||
this.jarScript.forwardOne();
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
}
|
||||
}
|
||||
@ -196,9 +203,9 @@ public class GuiWorldInAJar extends GuiScreen {
|
||||
|
||||
private void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {
|
||||
|
||||
for(Entry<Integer, ISpecialActor> actor : this.testScript.actors.entrySet()) {
|
||||
for(Entry<Integer, ISpecialActor> actor : this.jarScript.actors.entrySet()) {
|
||||
GL11.glPushMatrix();
|
||||
actor.getValue().drawForegroundComponent(this.width, this.height, this.testScript.ticksElapsed, this.testScript.interp);
|
||||
actor.getValue().drawForegroundComponent(this.width, this.height, this.jarScript.ticksElapsed, this.jarScript.interp);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@ -212,21 +219,21 @@ public class GuiWorldInAJar extends GuiScreen {
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
GL11.glDisable(GL11.GL_DEPTH_TEST);
|
||||
|
||||
int playButton = this.testScript.isPaused() ? 64 : 40;
|
||||
int playButton = this.jarScript.isPaused() ? 64 : 40;
|
||||
|
||||
if(width / 2 - 12 <= mouseX && width / 2 - 12 + 24 > mouseX && height - 36 < mouseY && height - 36 + 24 >= mouseY)
|
||||
this.drawTexturedModalRect(width / 2 - 12, height - 36, playButton, 24, 24, 24);
|
||||
else
|
||||
this.drawTexturedModalRect(width / 2 - 12, height - 36, playButton, 48, 24, 24);
|
||||
|
||||
if(this.testScript.sceneNumber == 0)
|
||||
if(this.jarScript.sceneNumber == 0)
|
||||
this.drawTexturedModalRect(width / 2 - 12 - 36, height - 36, 88, 72, 24, 24);
|
||||
else if(width / 2 - 12 - 36 <= mouseX && width / 2 - 12 - 36 + 24 > mouseX && height - 36 < mouseY && height - 36 + 24 >= mouseY)
|
||||
this.drawTexturedModalRect(width / 2 - 12 - 36, height - 36, 88, 24, 24, 24);
|
||||
else
|
||||
this.drawTexturedModalRect(width / 2 - 12 - 36, height - 36, 88, 48, 24, 24);
|
||||
|
||||
if(this.testScript.sceneNumber >= this.testScript.scenes.size())
|
||||
if(this.jarScript.sceneNumber >= this.jarScript.scenes.size())
|
||||
this.drawTexturedModalRect(width / 2 - 12 + 36, height - 36, 112, 72, 24, 24);
|
||||
else if(width / 2 - 12 + 36 <= mouseX && width / 2 - 12 + 36 + 24 > mouseX && height - 36 < mouseY && height - 36 + 24 >= mouseY)
|
||||
this.drawTexturedModalRect(width / 2 - 12 + 36, height - 36, 112, 24, 24, 24);
|
||||
@ -238,6 +245,10 @@ public class GuiWorldInAJar extends GuiScreen {
|
||||
itemRender.renderItemAndEffectIntoGUI(this.fontRendererObj, this.mc.renderEngine, this.icon, 19, 19);
|
||||
itemRender.renderItemOverlayIntoGUI(this.fontRendererObj, this.mc.renderEngine, this.icon, 19, 19, null);
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
|
||||
if(15 <= mouseX && 39 > mouseX && 15 < mouseY && 39 >= mouseY) {
|
||||
this.titlePanel.drawForegroundComponent(0, 0, this.jarScript.ticksElapsed, this.jarScript.interp);
|
||||
}
|
||||
}
|
||||
|
||||
private void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) {
|
||||
@ -249,10 +260,10 @@ public class GuiWorldInAJar extends GuiScreen {
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
Tessellator.instance.startDrawingQuads();
|
||||
|
||||
for(int x = 0; x < testScript.world.sizeX; x++) {
|
||||
for(int y = 0; y < testScript.world.sizeY; y++) {
|
||||
for(int z = 0; z < testScript.world.sizeZ; z++) {
|
||||
renderer.renderBlockByRenderType(testScript.world.getBlock(x, y, z), x, y, z);
|
||||
for(int x = 0; x < jarScript.world.sizeX; x++) {
|
||||
for(int y = 0; y < jarScript.world.sizeY; y++) {
|
||||
for(int z = 0; z < jarScript.world.sizeZ; z++) {
|
||||
renderer.renderBlockByRenderType(jarScript.world.getBlock(x, y, z), x, y, z);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -269,9 +280,9 @@ public class GuiWorldInAJar extends GuiScreen {
|
||||
RenderHelper.enableStandardItemLighting();
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F);
|
||||
|
||||
for(Entry<Integer, ISpecialActor> actor : this.testScript.actors.entrySet()) {
|
||||
for(Entry<Integer, ISpecialActor> actor : this.jarScript.actors.entrySet()) {
|
||||
GL11.glPushMatrix();
|
||||
actor.getValue().drawBackgroundComponent(this.testScript.ticksElapsed, this.testScript.interp);
|
||||
actor.getValue().drawBackgroundComponent(this.jarScript.ticksElapsed, this.jarScript.interp);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@ -286,13 +297,13 @@ public class GuiWorldInAJar extends GuiScreen {
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
GL11.glScaled(1, 1, 0.5); //incredible flattening power
|
||||
|
||||
double zoom = testScript.zoom();
|
||||
double zoom = jarScript.zoom();
|
||||
GL11.glScaled(zoom, zoom, zoom);
|
||||
|
||||
GL11.glRotated(testScript.pitch(), 1, 0, 0);
|
||||
GL11.glRotated(testScript.yaw(), 0, 1, 0);
|
||||
GL11.glTranslated(testScript.world.sizeX / -2D, -testScript.world.sizeY / 2D , testScript.world.sizeZ / -2D);
|
||||
GL11.glTranslated(testScript.offsetX(), testScript.offsetY(), testScript.offsetZ());
|
||||
GL11.glRotated(jarScript.pitch(), 1, 0, 0);
|
||||
GL11.glRotated(jarScript.yaw(), 0, 1, 0);
|
||||
GL11.glTranslated(jarScript.world.sizeX / -2D, -jarScript.world.sizeY / 2D , jarScript.world.sizeZ / -2D);
|
||||
GL11.glTranslated(jarScript.offsetX(), jarScript.offsetY(), jarScript.offsetZ());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -300,7 +311,7 @@ public class GuiWorldInAJar extends GuiScreen {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static GuiWorldInAJar shittyHack;
|
||||
//ublic static GuiWorldInAJar shittyHack;
|
||||
|
||||
public void drawStackText(List<Object[]> lines, int x, int y, FontRenderer font) {
|
||||
|
||||
|
||||
@ -93,6 +93,10 @@ public class ActorFancyPanel implements ISpecialActor {
|
||||
return this;
|
||||
}
|
||||
|
||||
public ActorFancyPanel setColors(int[] colors) {
|
||||
return setColors(colors[0], colors[1], colors[2], colors[3]);
|
||||
}
|
||||
|
||||
public int getTallestElement() {
|
||||
if(this.tallestElement > 0) {
|
||||
return this.tallestElement;
|
||||
@ -260,20 +264,18 @@ public class ActorFancyPanel implements ISpecialActor {
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(guiUtil);
|
||||
|
||||
int off = 28;
|
||||
|
||||
switch(o) {
|
||||
case TOP:
|
||||
this.drawTexturedModalRect(posX + width / 2 - 7, posY - 15, 40 + off, 14, 14, 10);
|
||||
this.drawArrow(posX + width / 2 - 7, posY - 15, 40, 14, 14, 10);
|
||||
break;
|
||||
case BOTTOM:
|
||||
this.drawTexturedModalRect(posX + width / 2 - 7, posY + height + 5, 54 + off, 14, 14, 10);
|
||||
this.drawArrow(posX + width / 2 - 7, posY + height + 5, 54, 14, 14, 10);
|
||||
break;
|
||||
case LEFT:
|
||||
this.drawTexturedModalRect(posX - 15, posY + height / 2 - 7, 40 + off, 0, 10, 14);
|
||||
this.drawArrow(posX - 15, posY + height / 2 - 7, 40, 0, 10, 14);
|
||||
break;
|
||||
case RIGHT:
|
||||
this.drawTexturedModalRect(posX + width + 5, posY + height / 2 - 7, 50 + off, 0, 10, 14);
|
||||
this.drawArrow(posX + width + 5, posY + height / 2 - 7, 50, 0, 10, 14);
|
||||
break;
|
||||
case CENTER: break;
|
||||
}
|
||||
@ -307,6 +309,13 @@ public class ActorFancyPanel implements ISpecialActor {
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
}
|
||||
|
||||
private void drawArrow(int posX, int posY, int sourceX, int sourceY, int sizeX, int sizeY) {
|
||||
this.drawTexturedModalRect(posX, posY, sourceX + 28 * 0, sourceY, sizeX, sizeY, this.colorBrighter);
|
||||
this.drawTexturedModalRect(posX, posY, sourceX + 28 * 1, sourceY, sizeX, sizeY, this.colorFrame);
|
||||
this.drawTexturedModalRect(posX, posY, sourceX + 28 * 2, sourceY, sizeX, sizeY, this.colorDarker);
|
||||
this.drawTexturedModalRect(posX, posY, sourceX + 28 * 3, sourceY, sizeX, sizeY, this.colorBg);
|
||||
}
|
||||
|
||||
private void drawElement(int x, int y, Object element) {
|
||||
|
||||
if(element instanceof String) {
|
||||
@ -373,11 +382,20 @@ public class ActorFancyPanel implements ISpecialActor {
|
||||
}
|
||||
|
||||
public void drawTexturedModalRect(int posX, int posY, int u, int v, int sizeX, int sizeY) {
|
||||
drawTexturedModalRect(posX, posY, u, v, sizeX, sizeY, 0xffffff);
|
||||
}
|
||||
|
||||
public void drawTexturedModalRect(int posX, int posY, int u, int v, int sizeX, int sizeY, int color) {
|
||||
double zLevel = 300D;
|
||||
float a = (float) (color >> 24 & 255) / 255.0F;
|
||||
float r = (float) (color >> 16 & 255) / 255.0F;
|
||||
float g = (float) (color >> 8 & 255) / 255.0F;
|
||||
float b = (float) (color & 255) / 255.0F;
|
||||
float f = 0.00390625F;
|
||||
float f1 = 0.00390625F;
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
tessellator.startDrawingQuads();
|
||||
tessellator.setColorRGBA_F(r, g, b, a);
|
||||
tessellator.addVertexWithUV(posX + 0, posY + sizeY, zLevel, (u + 0) * f, (v + sizeY) * f1);
|
||||
tessellator.addVertexWithUV(posX + sizeX, posY + sizeY, zLevel, (u + sizeX) * f, (v + sizeY) * f1);
|
||||
tessellator.addVertexWithUV(posX + sizeX, posY + 0, zLevel, (u + sizeX) * f, (v + 0) * f1);
|
||||
|
||||
@ -6,6 +6,13 @@ import net.minecraft.item.ItemStack;
|
||||
|
||||
public abstract class CanneryBase {
|
||||
|
||||
public static final int[] colorCopper = new int[] {0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xFF1A1F22};
|
||||
public static final int[] colorGold = new int[] {0xFFFFFDE0, 0xFFFAD64A, 0xFFDC9613, 0xFF1A1F22};
|
||||
public static final int[] colorBlue = new int[] {0xFFA5D9FF, 0xFF39ACFF, 0xFF1A6CA7, 0xFF1A1F22};
|
||||
public static final int[] colorGrey = new int[] {0xFFA5D9FF, 0xFF39ACFF, 0xFF1A6CA7, 0xFF1A1F22};
|
||||
|
||||
public abstract ItemStack getIcon();
|
||||
public abstract String getName();
|
||||
public abstract JarScript createScript();
|
||||
public CanneryBase[] seeAlso() { return new CanneryBase[0]; }
|
||||
}
|
||||
|
||||
@ -34,6 +34,11 @@ public class CanneryCentrifuge extends CanneryBase {
|
||||
return new ItemStack(ModBlocks.machine_gascent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "cannery.centrifuge";
|
||||
}
|
||||
|
||||
public JarScript createScript() {
|
||||
WorldInAJar world = new WorldInAJar(9, 5, 5);
|
||||
JarScript script = new JarScript(world);
|
||||
@ -73,7 +78,7 @@ public class CanneryCentrifuge extends CanneryBase {
|
||||
}
|
||||
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -15, -50, new Object[][] {{I18nUtil.resolveKey("cannery.centrifuge.0")}}, 200)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
|
||||
scene0.add(new ActionWait(60));
|
||||
scene0.add(new ActionRemoveActor(1));
|
||||
@ -81,7 +86,7 @@ public class CanneryCentrifuge extends CanneryBase {
|
||||
JarScene scene1 = new JarScene(script);
|
||||
|
||||
scene1.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -15, 10, new Object[][] {{I18nUtil.resolveKey("cannery.centrifuge.1")}}, 200)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.CENTER)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.CENTER)));
|
||||
|
||||
scene1.add(new ActionWait(60));
|
||||
scene1.add(new ActionRemoveActor(1));
|
||||
@ -89,7 +94,7 @@ public class CanneryCentrifuge extends CanneryBase {
|
||||
scene1.add(new ActionSetZoom(4, 20));
|
||||
|
||||
scene1.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, 40, new Object[][] {{I18nUtil.resolveKey("cannery.centrifuge.2")}}, 150)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.LEFT)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
|
||||
|
||||
scene1.add(new ActionWait(60));
|
||||
scene1.add(new ActionRemoveActor(1));
|
||||
@ -101,14 +106,14 @@ public class CanneryCentrifuge extends CanneryBase {
|
||||
scene1.add(new ActionWait(10));
|
||||
|
||||
scene1.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, 0, new Object[][] {{I18nUtil.resolveKey("cannery.centrifuge.3")}}, 200)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.CENTER)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.CENTER)));
|
||||
|
||||
scene1.add(new ActionWait(100));
|
||||
scene1.add(new ActionRemoveActor(2));
|
||||
scene1.add(new ActionSetZoom(-2, 20));
|
||||
|
||||
scene1.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, 0, new Object[][] {{I18nUtil.resolveKey("cannery.centrifuge.4")}}, 200)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.CENTER)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.CENTER)));
|
||||
|
||||
scene1.add(new ActionWait(60));
|
||||
scene1.add(new ActionRemoveActor(2));
|
||||
@ -121,16 +126,16 @@ public class CanneryCentrifuge extends CanneryBase {
|
||||
scene1.add(new ActionWait(10));
|
||||
|
||||
scene1.add(new ActionCreateActor(4, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, 0, new Object[][] {{I18nUtil.resolveKey("cannery.centrifuge.5")}}, 200)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.CENTER)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.CENTER)));
|
||||
|
||||
scene1.add(new ActionWait(60));
|
||||
scene1.add(new ActionRemoveActor(4));
|
||||
|
||||
scene1.add(new ActionCreateActor(4, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 28, -30, new Object[][] {{new ItemStack(ModItems.upgrade_gc_speed)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
|
||||
scene1.add(new ActionCreateActor(5, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 45, 35, new Object[][] {{" = ", new ItemStack(ModItems.nugget_u238, 11), new ItemStack(ModItems.nugget_u235)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.LEFT)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
|
||||
|
||||
script.addScene(scene0).addScene(scene1);
|
||||
return script;
|
||||
|
||||
@ -29,6 +29,11 @@ public class CanneryFEnSU extends CanneryBase {
|
||||
return new ItemStack(ModBlocks.machine_fensu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "cannery.fensu";
|
||||
}
|
||||
|
||||
public JarScript createScript() {
|
||||
WorldInAJar world = new WorldInAJar(11, 5, 5);
|
||||
JarScript script = new JarScript(world);
|
||||
@ -45,19 +50,19 @@ public class CanneryFEnSU extends CanneryBase {
|
||||
scene0.add(new ActionCreateActor(0, new ActorTileEntity(new RenderFENSU(), fensu)));
|
||||
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -50, new Object[][] {{I18nUtil.resolveKey("cannery.fensu.0")}}, 200)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
scene0.add(new ActionWait(80));
|
||||
scene0.add(new ActionRemoveActor(1));
|
||||
scene0.add(new ActionWait(10));
|
||||
scene0.add(new ActionRotateBy(45, 90, 20));
|
||||
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, 20, new Object[][] {{I18nUtil.resolveKey("cannery.fensu.1")}}, 200)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.TOP)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.TOP)));
|
||||
scene0.add(new ActionWait(60));
|
||||
scene0.add(new ActionRemoveActor(1));
|
||||
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, 20, new Object[][] {{I18nUtil.resolveKey("cannery.fensu.2")}}, 200)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.TOP)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.TOP)));
|
||||
scene0.add(new ActionWait(60));
|
||||
scene0.add(new ActionRemoveActor(1));
|
||||
|
||||
|
||||
@ -37,6 +37,11 @@ public class CanneryFirebox extends CanneryBase {
|
||||
return new ItemStack(ModBlocks.heater_firebox);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "cannery.firebox";
|
||||
}
|
||||
|
||||
public JarScript createScript() {
|
||||
|
||||
WorldInAJar world = new WorldInAJar(5, 5, 5);
|
||||
@ -61,12 +66,12 @@ public class CanneryFirebox extends CanneryBase {
|
||||
scene0.add(new ActionWait(10));
|
||||
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -10, new Object[][] {{I18nUtil.resolveKey("cannery.firebox.0")}}, 150)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
|
||||
scene0.add(new ActionWait(60));
|
||||
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -10, new Object[][] {{I18nUtil.resolveKey("cannery.firebox.1")}}, 250)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
|
||||
scene0.add(new ActionWait(60));
|
||||
scene0.add(new ActionRemoveActor(1));
|
||||
@ -77,19 +82,19 @@ public class CanneryFirebox extends CanneryBase {
|
||||
scene0.add(new ActionUpdateActor(0, "isOn", true));
|
||||
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -50, 40, new Object[][] {{new ItemStack(Items.coal)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.RIGHT)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.RIGHT)));
|
||||
scene0.add(new ActionWait(10));
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -50, 40, new Object[][] {{new ItemStack(ModItems.coke)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.RIGHT)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.RIGHT)));
|
||||
scene0.add(new ActionWait(10));
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -50, 40, new Object[][] {{new ItemStack(ModItems.solid_fuel)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.RIGHT)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.RIGHT)));
|
||||
scene0.add(new ActionWait(10));
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -50, 40, new Object[][] {{new ItemStack(ModItems.rocket_fuel)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.RIGHT)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.RIGHT)));
|
||||
scene0.add(new ActionWait(10));
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -50, 40, new Object[][] {{new ItemStack(ModItems.solid_fuel_bf)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.RIGHT)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.RIGHT)));
|
||||
scene0.add(new ActionWait(10));
|
||||
scene0.add(new ActionRemoveActor(1));
|
||||
scene0.add(new ActionWait(10));
|
||||
@ -97,12 +102,12 @@ public class CanneryFirebox extends CanneryBase {
|
||||
scene0.add(new ActionWait(30));
|
||||
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -10, new Object[][] {{I18nUtil.resolveKey("cannery.firebox.2")}}, 250)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
|
||||
scene0.add(new ActionWait(80));
|
||||
|
||||
scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -10, new Object[][] {{I18nUtil.resolveKey("cannery.firebox.3")}}, 250)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
|
||||
scene0.add(new ActionWait(60));
|
||||
scene0.add(new ActionRemoveActor(1));
|
||||
@ -121,7 +126,7 @@ public class CanneryFirebox extends CanneryBase {
|
||||
|
||||
scene1.add(new ActionWait(10));
|
||||
scene1.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -45, new Object[][] {{I18nUtil.resolveKey("cannery.firebox.4")}}, 250)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
scene1.add(new ActionWait(60));
|
||||
scene1.add(new ActionRemoveActor(2));
|
||||
scene1.add(new ActionWait(10));
|
||||
|
||||
@ -42,6 +42,11 @@ public class CannerySILEX extends CanneryBase{
|
||||
return new ItemStack(ModBlocks.machine_silex);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "cannery.silex";
|
||||
}
|
||||
|
||||
public JarScript createScript() {
|
||||
WorldInAJar world = new WorldInAJar(17, 5, 5);
|
||||
JarScript script = new JarScript(world);
|
||||
@ -69,30 +74,30 @@ public class CannerySILEX extends CanneryBase{
|
||||
scene0.add(new ActionCreateActor(0, new ActorTileEntity(new ActorFEL(), fel)));
|
||||
|
||||
scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 15, -5, new Object[][] {{I18nUtil.resolveKey("cannery.silex.0")}}, 100)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.LEFT)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.LEFT)));
|
||||
|
||||
scene0.add(new ActionWait(80));
|
||||
scene0.add(new ActionRemoveActor(3));
|
||||
scene0.add(new ActionWait(10));
|
||||
|
||||
scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -7, -15, new Object[][] {{new ItemStack(ModItems.laser_crystal_co2)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
scene0.add(new ActionUpdateActor(0, "mode", 1));
|
||||
scene0.add(new ActionWait(20));
|
||||
scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -7, -15, new Object[][] {{new ItemStack(ModItems.laser_crystal_bismuth)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
scene0.add(new ActionUpdateActor(0, "mode", 2));
|
||||
scene0.add(new ActionWait(20));
|
||||
scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -7, -15, new Object[][] {{new ItemStack(ModItems.laser_crystal_cmb)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
scene0.add(new ActionUpdateActor(0, "mode", 3));
|
||||
scene0.add(new ActionWait(20));
|
||||
scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -7, -15, new Object[][] {{new ItemStack(ModItems.laser_crystal_dnt)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
scene0.add(new ActionUpdateActor(0, "mode", 4));
|
||||
scene0.add(new ActionWait(20));
|
||||
scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -7, -15, new Object[][] {{new ItemStack(ModItems.laser_crystal_digamma)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
scene0.add(new ActionUpdateActor(0, "mode", 5));
|
||||
scene0.add(new ActionWait(20));
|
||||
|
||||
@ -108,7 +113,7 @@ public class CannerySILEX extends CanneryBase{
|
||||
}
|
||||
|
||||
scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -7, -15, new Object[][] {{I18nUtil.resolveKey("cannery.silex.1")}}, 150)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
scene0.add(new ActionUpdateActor(0, "mode", 3));
|
||||
scene0.add(new ActionUpdateActor(0, "length", 4));
|
||||
|
||||
@ -132,7 +137,7 @@ public class CannerySILEX extends CanneryBase{
|
||||
}
|
||||
|
||||
scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -7, -15, new Object[][] {{I18nUtil.resolveKey("cannery.silex.2")}}, 150)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
scene0.add(new ActionWait(40));
|
||||
scene0.add(new ActionRemoveActor(3));
|
||||
|
||||
@ -162,17 +167,17 @@ public class CannerySILEX extends CanneryBase{
|
||||
scene1.add(new ActionWait(20));
|
||||
|
||||
scene1.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 42, -18, new Object[][] {{I18nUtil.resolveKey("cannery.silex.3")}}, 150)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
|
||||
scene1.add(new ActionWait(80));
|
||||
|
||||
scene1.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 60, 32, new Object[][] {{I18nUtil.resolveKey("cannery.silex.4")}}, 150)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.RIGHT)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.RIGHT)));
|
||||
|
||||
scene1.add(new ActionWait(60));
|
||||
|
||||
scene1.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 12, 32, new Object[][] {{I18nUtil.resolveKey("cannery.silex.5")}}, 150)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.RIGHT)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.RIGHT)));
|
||||
|
||||
scene1.add(new ActionWait(60));
|
||||
scene1.add(new ActionRemoveActor(3));
|
||||
@ -195,17 +200,17 @@ public class CannerySILEX extends CanneryBase{
|
||||
scene1.add(new ActionWait(10));
|
||||
|
||||
scene1.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 42, -18, new Object[][] {{I18nUtil.resolveKey("cannery.silex.6")}}, 150)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
|
||||
scene1.add(new ActionWait(80));
|
||||
|
||||
scene1.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 42, -18, new Object[][] {{I18nUtil.resolveKey("cannery.silex.7")}}, 150)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
|
||||
scene1.add(new ActionWait(60));
|
||||
|
||||
scene1.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -7, -15, new Object[][] {{I18nUtil.resolveKey("cannery.silex.8")}}, 150)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
|
||||
scene1.add(new ActionWait(60));
|
||||
scene1.add(new ActionRemoveActor(3));
|
||||
|
||||
@ -35,6 +35,16 @@ public class CanneryStirling extends CanneryBase {
|
||||
return new ItemStack(ModBlocks.machine_stirling);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "cannery.stirling";
|
||||
}
|
||||
public CanneryBase[] seeAlso() {
|
||||
return new CanneryBase[] {
|
||||
new CanneryFirebox()
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public JarScript createScript() {
|
||||
|
||||
@ -61,24 +71,28 @@ public class CanneryStirling extends CanneryBase {
|
||||
|
||||
NBTTagCompound stirling = new NBTTagCompound();
|
||||
stirling.setDouble("x", 2);
|
||||
stirling.setDouble("y", 2);
|
||||
stirling.setDouble("z", 2);
|
||||
stirling.setInteger("rotation", 2);
|
||||
stirling.setInteger("type", 0);
|
||||
stirling.setBoolean("hasCog", true);
|
||||
scene0.add(new ActionCreateActor(1, new ActorTileEntity(new RenderStirling(), stirling)));
|
||||
/*
|
||||
* When rewinding, the NBT tag persists. We have to manually set all variable values with UpdateActor.
|
||||
*/
|
||||
scene0.add(new ActionUpdateActor(1, "speed", 0F));
|
||||
scene0.add(new ActionUpdateActor(1, "y", 2D));
|
||||
scene0.add(new ActionUpdateActor(1, "type", 0));
|
||||
scene0.add(new ActionUpdateActor(1, "hasCog", true));
|
||||
scene0.add(new ActionUpdateActor(1, "spin", 0F));
|
||||
scene0.add(new ActionUpdateActor(1, "lastSpin", 0F));
|
||||
|
||||
scene0.add(new ActionWait(10));
|
||||
|
||||
scene0.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -45, new Object[][] {{I18nUtil.resolveKey("cannery.stirling.0")}}, 250)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
|
||||
scene0.add(new ActionWait(60));
|
||||
|
||||
scene0.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, 40, new Object[][] {{I18nUtil.resolveKey("cannery.stirling.1")}}, 250)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
|
||||
scene0.add(new ActionWait(60));
|
||||
scene0.add(new ActionRemoveActor(2));
|
||||
@ -87,7 +101,7 @@ public class CanneryStirling extends CanneryBase {
|
||||
scene0.add(new ActionWait(30));
|
||||
scene0.add(new ActionUpdateActor(0, "isOn", true));
|
||||
scene0.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -50, 40, new Object[][] {{new ItemStack(Items.coal)}}, 0)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.RIGHT)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.RIGHT)));
|
||||
scene0.add(new ActionWait(20));
|
||||
scene0.add(new ActionRemoveActor(2));
|
||||
scene0.add(new ActionWait(10));
|
||||
@ -115,7 +129,7 @@ public class CanneryStirling extends CanneryBase {
|
||||
JarScene scene1 = new JarScene(script);
|
||||
|
||||
scene1.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -45, new Object[][] {{I18nUtil.resolveKey("cannery.stirling.2")}}, 250)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
scene1.add(new ActionWait(60));
|
||||
scene1.add(new ActionRemoveActor(2));
|
||||
|
||||
@ -145,7 +159,7 @@ public class CanneryStirling extends CanneryBase {
|
||||
scene1.add(new ActionWait(20));
|
||||
|
||||
scene1.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -45, new Object[][] {{I18nUtil.resolveKey("cannery.stirling.3")}}, 250)
|
||||
.setColors(0xFFFDCA88, 0xFFD57C4F, 0xFFAB4223, 0xff1A1F22).setOrientation(Orientation.BOTTOM)));
|
||||
.setColors(colorCopper).setOrientation(Orientation.BOTTOM)));
|
||||
scene1.add(new ActionWait(60));
|
||||
scene1.add(new ActionRemoveActor(2));
|
||||
scene1.add(new ActionWait(20));
|
||||
|
||||
@ -130,6 +130,7 @@ book.test.page1=Testseite 1
|
||||
|
||||
cannery.f1=[ Drücke F1 für Hilfe ]
|
||||
|
||||
cannery.centrifuge=Gaszentrifuge
|
||||
cannery.centrifuge.0=Gaszentrifugen können mit Flüssigkeitsrohren versorgt werden.
|
||||
cannery.centrifuge.1=Die meisten Rezepte benötigen mehrere Zentrifugen, Zwischenprodukte können nicht mit Rohren transportiert werden.
|
||||
cannery.centrifuge.2=Diese Seite dient als Verbindung, die Zwischenprodukte in anliegende Zentrifugen überträgt.
|
||||
@ -137,16 +138,19 @@ cannery.centrifuge.3=Uranhexafluorid kann mit nur zwei Zentrifugen verarbeitet w
|
||||
cannery.centrifuge.4=Mit vier Zentrifugen kann es vollständig in Uran-235 und Uran238 verarbeitet werden.
|
||||
cannery.centrifuge.5=Manche Rezepte benötigen das Zentrifugen-Geschwingidkeitsupgrade.
|
||||
|
||||
cannery.fensu=FEnSU
|
||||
cannery.fensu.0=Die FEnSU kann absurde Mengen Energie speichern, über 9EHE (eine Neun gefolgt von 18 Nullen).
|
||||
cannery.fensu.1=Es gibt nur einen Kontakt auf der Unterseite.
|
||||
cannery.fensu.2=Das ist auch der einzige Ort, an dem die FEnSU ein Redstone-Signal empfangen kann.
|
||||
|
||||
cannery.firebox=Feuerbüchse
|
||||
cannery.firebox.0=Die Feuerbüchse verbrennt Gegenstände, um Hitze zu erzeugen.
|
||||
cannery.firebox.1=Sie kann alle brennbaren Gegenstände verwenden, aber hochwertigere Brennstoffe wie Kohle, Koks oder Festbrennstoff brennen länger und heißer.
|
||||
cannery.firebox.2=Hitze wird von dem Kupferkontakt an der Oberseite abgegeben. Maschinen mit einem identischen Kontakt an der Unterseite können Hitze annehmen, wenn sie darauf platziert werden.
|
||||
cannery.firebox.3=Wenn die Hitze nicht verbraucht wird hält die Feuerbüchse an, um keinen Brennstoff zu verschwenden.
|
||||
cannery.firebox.4=Eine solche Maschine ist der Stirlingmotor, welcher aus Hitze direkt Energie erzeugt.
|
||||
|
||||
cannery.silex=FEL & SILEX
|
||||
cannery.silex.0=Der Freieilektonenlaser (FEL) verwendet Energie und einen Laserkristall um einen starken Laserstrahl zu erzeugen.
|
||||
cannery.silex.1=Vorsicht, der Laser kann sich durch schwächere Blöcke hindurchbrennen...
|
||||
cannery.silex.2=...aber nicht durch sprengsichere.
|
||||
@ -157,6 +161,7 @@ cannery.silex.6=Zusätzlich zu den zwei Öffnungen gibt es an der Unterseite ein
|
||||
cannery.silex.7=Jedes Rezept benötigt einen speziellen Laser-Typ. Stärkere Typen beschleunigen den Vorgang.
|
||||
cannery.silex.8=Ein FEL kann bis zu fünf SILEX betreiben. Jedes SILEX muss einen Block Abstand halten.
|
||||
|
||||
cannery.stirling=Stirlingmotor
|
||||
cannery.stirling.0=Der Stirlingmotor verwendet Hitze aus einer externen Quelle um Energie zu erzeugen.
|
||||
cannery.stirling.1=Er muss auf einem Hitzeerzeuger platziert werden, zum Beispiel der Feuerbüchse.
|
||||
cannery.stirling.2=Die Hitze die maximal verwendet werden kann ist limitiert, Übergeschwindigkeit kann zu katastrophalen Fehlfunktionen führen.
|
||||
|
||||
@ -316,6 +316,7 @@ book.starter.page18=vær is just a guy who has been trapped in the grey void fea
|
||||
|
||||
cannery.f1=[ Press F1 for help ]
|
||||
|
||||
cannery.centrifuge=Gas Centrifuge
|
||||
cannery.centrifuge.0=Gas centrifuges can be supplied with fluid using regular fluid ducts.
|
||||
cannery.centrifuge.1=Most recipes require multiple centrifuges. The intermediate products cannot be transported via pipes.
|
||||
cannery.centrifuge.2=This side acts as a connector which outputs the intermediate product into an adjacent centrifuge.
|
||||
@ -323,16 +324,19 @@ cannery.centrifuge.3=Uranium hexafluoride can be processed with just two centrif
|
||||
cannery.centrifuge.4=Fully processing it into Uranium-235 and Uranium-238 requires a total of four centrifuges.
|
||||
cannery.centrifuge.5=Some recipes also require the centrifuge overclocking upgrade.
|
||||
|
||||
cannery.fensu=FEnSU
|
||||
cannery.fensu.0=The FEnSU is capable of storing absurd amounts of energy, over 9EHE (that's a nine followed by 18 zeros).
|
||||
cannery.fensu.1=There is only one energy connector which can be found on the bottom.
|
||||
cannery.fensu.2=This is also the only place where the FEnSU can receive a redstone signal.
|
||||
|
||||
cannery.firebox=Firebox
|
||||
cannery.firebox.0=The firebox burns flammable items to generate heat.
|
||||
cannery.firebox.1=It can burn any flammable item, although higher quality fuels such as coal, coke and solid fuel burn longer and hotter.
|
||||
cannery.firebox.2=Heat is given off by the copper contact at the top of the firebox. Machines with an identical contact on the bottom can receive heat by being placed on top of the firebox.
|
||||
cannery.firebox.3=If heat isn't being used up and the heat buffer becomes full, the firebox will shut off to prevent wasting of fuel.
|
||||
cannery.firebox.4=One such machine is the stirling engine, which will turn heat directly into energy.
|
||||
|
||||
cannery.silex=FEL & SILEX
|
||||
cannery.silex.0=The Free Electron Laser (FEL) uses energy and a laser crystal to create a powerful laser beam.
|
||||
cannery.silex.1=Be careful, as the laser will burn/melt through weaker blocks...
|
||||
cannery.silex.2=...but not blast-proof ones.
|
||||
@ -343,6 +347,7 @@ cannery.silex.6=In addition to the two connectors on the sides, there is a third
|
||||
cannery.silex.7=Each recipe requires a specific laser type. Using a stronger type than required will process items faster.
|
||||
cannery.silex.8=One FEL can supply up to 5 SILEX. Each SILEX has to be one block apart from one another.
|
||||
|
||||
cannery.stirling=Stirling Engine
|
||||
cannery.stirling.0=The Stirling engine uses heat energy from external sources to create power.
|
||||
cannery.stirling.1=It needs to be placed on top of a heat-producing machine, such as the firebox.
|
||||
cannery.stirling.2=The amount of heat it can utilize however is limited, overspinning can lead to catastrophic malfunction.
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 4.4 KiB |
Loading…
x
Reference in New Issue
Block a user