Finished porting to pure Java. Cleanup is next
This commit is contained in:
parent
a177803885
commit
d387e37a53
|
@ -23,7 +23,7 @@ repositories {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
apply plugin: 'scala'
|
//apply plugin: 'scala'
|
||||||
apply plugin: 'forge'
|
apply plugin: 'forge'
|
||||||
apply plugin: 'curseforge'
|
apply plugin: 'curseforge'
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@ package net.machinemuse.api;
|
||||||
|
|
||||||
import cpw.mods.fml.common.Optional;
|
import cpw.mods.fml.common.Optional;
|
||||||
import forestry.api.apiculture.IArmorApiarist;
|
import forestry.api.apiculture.IArmorApiarist;
|
||||||
import net.machinemuse.utils.ElectricItemUtils;
|
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package net.machinemuse.api.electricity;
|
package net.machinemuse.api.electricity;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.Item;
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -3,14 +3,12 @@ package net.machinemuse.api.electricity;
|
||||||
import appeng.api.config.AccessRestriction;
|
import appeng.api.config.AccessRestriction;
|
||||||
import ic2.api.item.ElectricItem;
|
import ic2.api.item.ElectricItem;
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
import net.machinemuse.numina.item.ModeChangingItem;
|
|
||||||
import net.machinemuse.utils.ElectricItemUtils;
|
import net.machinemuse.utils.ElectricItemUtils;
|
||||||
import net.machinemuse.utils.MuseItemUtils;
|
import net.machinemuse.utils.MuseItemUtils;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.machinemuse.api.electricity.ElectricConversions;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Author: MachineMuse (Claire Semple)
|
* Author: MachineMuse (Claire Semple)
|
||||||
|
|
|
@ -40,7 +40,7 @@ public class HeatMeter {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void drawGlass(double xpos, double ypos) {
|
public void drawGlass(double xpos, double ypos) {
|
||||||
MuseTextureUtils.pushTexture(Config.GLASS_TEXTURE());
|
MuseTextureUtils.pushTexture(Config.GLASS_TEXTURE);
|
||||||
GL11.glBegin(GL11.GL_QUADS);
|
GL11.glBegin(GL11.GL_QUADS);
|
||||||
GL11.glTexCoord2d(0, 0);
|
GL11.glTexCoord2d(0, 0);
|
||||||
GL11.glVertex2d(xpos, ypos);
|
GL11.glVertex2d(xpos, ypos);
|
||||||
|
|
|
@ -44,5 +44,5 @@ public class PortableCraftingGui extends GuiContainer {
|
||||||
super.onGuiClosed();
|
super.onGuiClosed();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final ResourceLocation GUI_Loc = new ResourceLocation(Config.TEXTURE_PREFIX() + "gui/crafting.png");
|
public static final ResourceLocation GUI_Loc = new ResourceLocation(Config.TEXTURE_PREFIX + "gui/crafting.png");
|
||||||
}
|
}
|
|
@ -136,10 +136,7 @@ public class ColourPickerFrame implements IGuiFrame {
|
||||||
this.rslider.draw();
|
this.rslider.draw();
|
||||||
this.gslider.draw();
|
this.gslider.draw();
|
||||||
this.bslider.draw();
|
this.bslider.draw();
|
||||||
System.out.println("colours().length: " + colours().length);
|
|
||||||
|
|
||||||
for (int i = 0; i < colours().length; i++) {
|
for (int i = 0; i < colours().length; i++) {
|
||||||
System.out.println("colours()[i] " + colours()[i]);
|
|
||||||
new GuiIcons.ArmourColourPatch(border.left() + 8 + i * 8, border.bottom() - 16, new Colour(colours()[i]), null, null, null, null);
|
new GuiIcons.ArmourColourPatch(border.left() + 8 + i * 8, border.bottom() - 16, new Colour(colours()[i]), null, null, null, null);
|
||||||
}
|
}
|
||||||
new GuiIcons.ArmourColourPatch(this.border.left() + 8 + this.colours().length * 8, this.border.bottom() - 16, Colour.WHITE, null, null, null, null);
|
new GuiIcons.ArmourColourPatch(this.border.left() + 8 + this.colours().length * 8, this.border.bottom() - 16, Colour.WHITE, null, null, null, null);
|
|
@ -10,12 +10,10 @@ import net.machinemuse.powersuits.client.render.item.IArmorModel;
|
||||||
import net.machinemuse.powersuits.item.ItemPowerArmor;
|
import net.machinemuse.powersuits.item.ItemPowerArmor;
|
||||||
import net.machinemuse.utils.MuseItemUtils;
|
import net.machinemuse.utils.MuseItemUtils;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.model.ModelBiped;
|
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import org.lwjgl.input.Mouse;
|
import org.lwjgl.input.Mouse;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
import scala.None$;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -89,8 +87,11 @@ public class ItemModelViewFrame implements IGuiFrame
|
||||||
final double dx = mousex - this.anchorx;
|
final double dx = mousex - this.anchorx;
|
||||||
final double dy = mousey - this.anchory;
|
final double dy = mousey - this.anchory;
|
||||||
switch (this.dragging) {
|
switch (this.dragging) {
|
||||||
default: {
|
case 0: {
|
||||||
final None$ module$ = None$.MODULE$;
|
this.rotx = MuseMathUtils.clampDouble(this.rotx + dy, -90.0, 90.0);
|
||||||
|
this.roty = this.roty - dx;
|
||||||
|
this.anchorx = mousex;
|
||||||
|
this.anchory = mousey;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 1: {
|
case 1: {
|
||||||
|
@ -100,15 +101,7 @@ public class ItemModelViewFrame implements IGuiFrame
|
||||||
this.anchory = mousey;
|
this.anchory = mousey;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0: {
|
default: {
|
||||||
this.rotx = MuseMathUtils.clampDouble(this.rotx + dy, -90.0, 90.0);
|
|
||||||
this.roty = this.roty - dx;
|
|
||||||
this.anchorx = mousex;
|
|
||||||
this.anchory = mousey;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case -1: {
|
|
||||||
final None$ module$2 = None$.MODULE$;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
package net.machinemuse.general.gui.frame;
|
package net.machinemuse.general.gui.frame;
|
||||||
|
|
||||||
import net.machinemuse.general.gui.clickable.ClickableItem;
|
|
||||||
import net.machinemuse.numina.geometry.Colour;
|
import net.machinemuse.numina.geometry.Colour;
|
||||||
import net.machinemuse.numina.geometry.MusePoint2D;
|
import net.machinemuse.numina.geometry.MusePoint2D;
|
||||||
import net.machinemuse.numina.geometry.MuseRect;
|
|
||||||
import net.machinemuse.numina.geometry.MuseRelativeRect;
|
import net.machinemuse.numina.geometry.MuseRelativeRect;
|
||||||
import net.machinemuse.powersuits.client.render.modelspec.ModelRegistry;
|
import net.machinemuse.powersuits.client.render.modelspec.ModelRegistry;
|
||||||
import net.machinemuse.powersuits.client.render.modelspec.ModelSpec;
|
import net.machinemuse.powersuits.client.render.modelspec.ModelSpec;
|
|
@ -43,7 +43,7 @@ public class TabSelectFrame implements IGuiFrame {
|
||||||
public void onMouseDown(double x, double y, int button) {
|
public void onMouseDown(double x, double y, int button) {
|
||||||
for (ClickableButton b : buttons.keySet()) {
|
for (ClickableButton b : buttons.keySet()) {
|
||||||
if (b.isEnabled() && b.hitBox(x, y)) {
|
if (b.isEnabled() && b.hitBox(x, y)) {
|
||||||
p.openGui(ModularPowersuits.INSTANCE(), buttons.get(b), p.worldObj, worldx, worldy, worldz);
|
p.openGui(ModularPowersuits.getInstance(), buttons.get(b), p.worldObj, worldx, worldy, worldz);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@ public class BlockTinkerTable extends Block {
|
||||||
if (player.isSneaking()) {
|
if (player.isSneaking()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
player.openGui(ModularPowersuits.INSTANCE(), 0, world, x, y, z);
|
player.openGui(ModularPowersuits.getInstance(), 0, world, x, y, z);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,14 +28,14 @@ public class RenderLuxCapacitorTESR extends MuseTESR implements ISimpleBlockRend
|
||||||
|
|
||||||
public static WavefrontObject getLightModel() {
|
public static WavefrontObject getLightModel() {
|
||||||
if (lightmodel == null) {
|
if (lightmodel == null) {
|
||||||
lightmodel = (WavefrontObject) AdvancedModelLoader.loadModel(new ResourceLocation(Config.RESOURCE_PREFIX() + "models/lightCore.obj"));
|
lightmodel = (WavefrontObject) AdvancedModelLoader.loadModel(new ResourceLocation(Config.RESOURCE_PREFIX + "models/lightCore.obj"));
|
||||||
}
|
}
|
||||||
return lightmodel;
|
return lightmodel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static WavefrontObject getFrameModel() {
|
public static WavefrontObject getFrameModel() {
|
||||||
if (framemodel == null) {
|
if (framemodel == null) {
|
||||||
framemodel = (WavefrontObject) AdvancedModelLoader.loadModel(new ResourceLocation(Config.RESOURCE_PREFIX() + "models/lightBase.obj"));
|
framemodel = (WavefrontObject) AdvancedModelLoader.loadModel(new ResourceLocation(Config.RESOURCE_PREFIX + "models/lightBase.obj"));
|
||||||
}
|
}
|
||||||
return framemodel;
|
return framemodel;
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ public class RenderLuxCapacitorTESR extends MuseTESR implements ISimpleBlockRend
|
||||||
@Override
|
@Override
|
||||||
public void renderAt(TileEntity undifferentiatedtileentity, double x, double y, double z, float partialTickTime) {
|
public void renderAt(TileEntity undifferentiatedtileentity, double x, double y, double z, float partialTickTime) {
|
||||||
TileEntityLuxCapacitor tileentity = (TileEntityLuxCapacitor) undifferentiatedtileentity;
|
TileEntityLuxCapacitor tileentity = (TileEntityLuxCapacitor) undifferentiatedtileentity;
|
||||||
this.bindTextureByName(Config.TEXTURE_PREFIX() + "models/thusters_uvw_2.png");
|
this.bindTextureByName(Config.TEXTURE_PREFIX + "models/thusters_uvw_2.png");
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glTranslated(x + 0.5, y + 0.5, z + 0.5);
|
glTranslated(x + 0.5, y + 0.5, z + 0.5);
|
||||||
double scale = 0.0625;
|
double scale = 0.0625;
|
||||||
|
@ -86,7 +86,7 @@ public class RenderLuxCapacitorTESR extends MuseTESR implements ISimpleBlockRend
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
|
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
|
||||||
this.bindTextureByName(Config.TEXTURE_PREFIX() + "models/thusters_uvw_2.png");
|
this.bindTextureByName(Config.TEXTURE_PREFIX + "models/thusters_uvw_2.png");
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glTranslated(-0.5, -0.5 + -1.0 / 16.0, -0.5);
|
GL11.glTranslated(-0.5, -0.5 + -1.0 / 16.0, -0.5);
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ public class TinkerTableRenderer extends MuseTESR implements ISimpleBlockRenderi
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void renderAt(TileEntity tileEntity, double x, double y, double z, float partialTickTime) {
|
public void renderAt(TileEntity tileEntity, double x, double y, double z, float partialTickTime) {
|
||||||
this.bindTextureByName(Config.TINKERTABLE_TEXTURE_PATH());
|
this.bindTextureByName(Config.TINKERTABLE_TEXTURE_PATH);
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glTranslated(x, y, z);
|
GL11.glTranslated(x, y, z);
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ public class TinkerTableRenderer extends MuseTESR implements ISimpleBlockRenderi
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
|
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
|
||||||
this.bindTextureByName(Config.TINKERTABLE_TEXTURE_PATH());
|
this.bindTextureByName(Config.TINKERTABLE_TEXTURE_PATH);
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glTranslated(-0.5, -0.5 + -1.0 / 16.0, -0.5);
|
GL11.glTranslated(-0.5, -0.5 + -1.0 / 16.0, -0.5);
|
||||||
model.doRender(null, 0, 0, 0, 0);
|
model.doRender(null, 0, 0, 0, 0);
|
||||||
|
|
|
@ -18,14 +18,14 @@ public class RenderLuxCapacitorEntity extends MuseRender {
|
||||||
|
|
||||||
public static WavefrontObject getLightModel() {
|
public static WavefrontObject getLightModel() {
|
||||||
if (lightmodel == null) {
|
if (lightmodel == null) {
|
||||||
lightmodel = (WavefrontObject) AdvancedModelLoader.loadModel(new ResourceLocation(Config.RESOURCE_PREFIX() + "models/lightCore.obj"));
|
lightmodel = (WavefrontObject) AdvancedModelLoader.loadModel(new ResourceLocation(Config.RESOURCE_PREFIX + "models/lightCore.obj"));
|
||||||
}
|
}
|
||||||
return lightmodel;
|
return lightmodel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static WavefrontObject getFrameModel() {
|
public static WavefrontObject getFrameModel() {
|
||||||
if (framemodel == null) {
|
if (framemodel == null) {
|
||||||
framemodel = (WavefrontObject) AdvancedModelLoader.loadModel(new ResourceLocation(Config.RESOURCE_PREFIX() + "models/lightBase.obj"));
|
framemodel = (WavefrontObject) AdvancedModelLoader.loadModel(new ResourceLocation(Config.RESOURCE_PREFIX + "models/lightBase.obj"));
|
||||||
}
|
}
|
||||||
return framemodel;
|
return framemodel;
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ public class RenderLuxCapacitorEntity extends MuseRender {
|
||||||
@Override
|
@Override
|
||||||
public void doRender(Entity undifferentiatedentity, double x, double y, double z, float yaw, float partialTickTime) {
|
public void doRender(Entity undifferentiatedentity, double x, double y, double z, float yaw, float partialTickTime) {
|
||||||
EntityLuxCapacitor entity = (EntityLuxCapacitor) undifferentiatedentity;
|
EntityLuxCapacitor entity = (EntityLuxCapacitor) undifferentiatedentity;
|
||||||
MuseTextureUtils.pushTexture(Config.TEXTURE_PREFIX() + "models/thusters_uvw_2.png");
|
MuseTextureUtils.pushTexture(Config.TEXTURE_PREFIX + "models/thusters_uvw_2.png");
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glTranslated(x, y, z);
|
glTranslated(x, y, z);
|
||||||
double scale = 0.0625;
|
double scale = 0.0625;
|
||||||
|
|
|
@ -14,7 +14,7 @@ public class RenderSpinningBlade extends MuseRender {
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glPushAttrib(GL_ENABLE_BIT);
|
glPushAttrib(GL_ENABLE_BIT);
|
||||||
glDisable(GL_CULL_FACE);
|
glDisable(GL_CULL_FACE);
|
||||||
MuseTextureUtils.pushTexture(Config.TEXTURE_PREFIX() + "items/spinningblade.png");
|
MuseTextureUtils.pushTexture(Config.TEXTURE_PREFIX + "items/spinningblade.png");
|
||||||
glTranslated(x, y, z);
|
glTranslated(x, y, z);
|
||||||
double motionscale = Math.sqrt(entity.motionZ * entity.motionZ + entity.motionX * entity.motionX);
|
double motionscale = Math.sqrt(entity.motionZ * entity.motionZ + entity.motionX * entity.motionX);
|
||||||
glRotatef(90, 1, 0, 0);
|
glRotatef(90, 1, 0, 0);
|
||||||
|
|
|
@ -370,7 +370,7 @@ public class ToolModel extends ModelBase {
|
||||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||||
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
||||||
|
|
||||||
MuseTextureUtils.pushTexture(Config.SEBK_TOOL_TEXTURE());
|
MuseTextureUtils.pushTexture(Config.SEBK_TOOL_TEXTURE);
|
||||||
|
|
||||||
if (c1 != null) {
|
if (c1 != null) {
|
||||||
c1.doGL();
|
c1.doGL();
|
||||||
|
|
|
@ -11,7 +11,6 @@ import net.minecraft.client.renderer.OpenGlHelper;
|
||||||
import net.minecraft.client.renderer.RenderHelper;
|
import net.minecraft.client.renderer.RenderHelper;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
import scala.Option;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Author: MachineMuse (Claire Semple)
|
* Author: MachineMuse (Claire Semple)
|
||||||
|
|
|
@ -2,8 +2,8 @@ package net.machinemuse.powersuits.common;
|
||||||
|
|
||||||
import cpw.mods.fml.common.Loader;
|
import cpw.mods.fml.common.Loader;
|
||||||
import cpw.mods.fml.common.ModAPIManager;
|
import cpw.mods.fml.common.ModAPIManager;
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.numina.general.MuseLogger;
|
import net.machinemuse.numina.general.MuseLogger;
|
||||||
import net.machinemuse.powersuits.powermodule.armor.ApiaristArmorModule;
|
import net.machinemuse.powersuits.powermodule.armor.ApiaristArmorModule;
|
||||||
import net.machinemuse.powersuits.powermodule.armor.HazmatModule;
|
import net.machinemuse.powersuits.powermodule.armor.HazmatModule;
|
||||||
|
|
|
@ -6,7 +6,6 @@ import cpw.mods.fml.common.gameevent.InputEvent;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import net.machinemuse.powersuits.common.ModularPowersuits;
|
import net.machinemuse.powersuits.common.ModularPowersuits;
|
||||||
import net.machinemuse.powersuits.item.IModeChangingModularItem;
|
|
||||||
import net.machinemuse.powersuits.item.ModeChangingModularItem;
|
import net.machinemuse.powersuits.item.ModeChangingModularItem;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.entity.EntityClientPlayerMP;
|
import net.minecraft.client.entity.EntityClientPlayerMP;
|
||||||
|
@ -45,13 +44,13 @@ public class KeybindKeyHandler {
|
||||||
if (key == openKeybindGUI.getKeyCode()) {
|
if (key == openKeybindGUI.getKeyCode()) {
|
||||||
World world = Minecraft.getMinecraft().theWorld;
|
World world = Minecraft.getMinecraft().theWorld;
|
||||||
if (Minecraft.getMinecraft().inGameHasFocus) {
|
if (Minecraft.getMinecraft().inGameHasFocus) {
|
||||||
player.openGui(ModularPowersuits.INSTANCE(), 1, world, 0, 0, 0);
|
player.openGui(ModularPowersuits.getInstance(), 1, world, 0, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (key == openCosmeticGUI.getKeyCode()) {
|
if (key == openCosmeticGUI.getKeyCode()) {
|
||||||
World world = Minecraft.getMinecraft().theWorld;
|
World world = Minecraft.getMinecraft().theWorld;
|
||||||
if (Minecraft.getMinecraft().inGameHasFocus) {
|
if (Minecraft.getMinecraft().inGameHasFocus) {
|
||||||
player.openGui(ModularPowersuits.INSTANCE(), 3, world, 0, 0, 0);
|
player.openGui(ModularPowersuits.getInstance(), 3, world, 0, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (key == goDownKey.getKeyCode()) {
|
if (key == goDownKey.getKeyCode()) {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package net.machinemuse.powersuits.event;
|
package net.machinemuse.powersuits.event;
|
||||||
|
|
||||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
||||||
import net.machinemuse.powersuits.item.ItemPowerFist;
|
import net.machinemuse.powersuits.item.ItemPowerFist;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
|
|
@ -80,7 +80,7 @@ public abstract class ItemPowerArmor extends ItemElectricArmor implements ISpeci
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getArmorTexture(final ItemStack itemstack, final Entity entity, final int slot, final int layer) {
|
public String getArmorTexture(final ItemStack itemstack, final Entity entity, final int slot, final int layer) {
|
||||||
return Config.BLANK_ARMOR_MODEL_PATH();
|
return Config.BLANK_ARMOR_MODEL_PATH;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getColor(final ItemStack stack) {
|
public int getColor(final ItemStack stack) {
|
||||||
|
|
|
@ -4,10 +4,8 @@ import cpw.mods.fml.common.Optional;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import ic2.api.item.IMetalArmor;
|
import ic2.api.item.IMetalArmor;
|
||||||
import net.machinemuse.api.ApiaristArmor;
|
|
||||||
import net.machinemuse.utils.render.MuseRenderer;
|
import net.machinemuse.utils.render.MuseRenderer;
|
||||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
|
|
@ -33,12 +33,12 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.EnumAction;
|
import net.minecraft.item.EnumAction;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.item.ItemTool;
|
|
||||||
import net.minecraft.util.DamageSource;
|
import net.minecraft.util.DamageSource;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.util.Vec3;
|
import net.minecraft.util.Vec3;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import powercrystals.minefactoryreloaded.api.IMFRHammer;
|
import powercrystals.minefactoryreloaded.api.IMFRHammer;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -14,15 +14,15 @@ public class MPSPacketList {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerPackets() {
|
public static void registerPackets() {
|
||||||
MusePacketHandler.packagers.put(1, MusePacketInventoryRefresh$.MODULE$);
|
MusePacketHandler.packagers.put(1, MusePacketInventoryRefresh.getPackagerInstance());
|
||||||
MusePacketHandler.packagers.put(2, MusePacketInstallModuleRequest$.MODULE$);
|
MusePacketHandler.packagers.put(2, MusePacketInstallModuleRequest.getPackagerInstance());
|
||||||
MusePacketHandler.packagers.put(3, MusePacketSalvageModuleRequest$.MODULE$);
|
MusePacketHandler.packagers.put(3, MusePacketSalvageModuleRequest.getPackagerInstance());
|
||||||
MusePacketHandler.packagers.put(4, MusePacketTweakRequest$.MODULE$);
|
MusePacketHandler.packagers.put(4, MusePacketTweakRequest.getPackagerInstance());
|
||||||
MusePacketHandler.packagers.put(5, MusePacketCosmeticInfo$.MODULE$);
|
MusePacketHandler.packagers.put(5, MusePacketCosmeticInfo.getPackagerInstance());
|
||||||
MusePacketHandler.packagers.put(6, MusePacketPlayerUpdate$.MODULE$);
|
MusePacketHandler.packagers.put(6, MusePacketPlayerUpdate.getPackagerInstance());
|
||||||
MusePacketHandler.packagers.put(7, MusePacketToggleRequest$.MODULE$);
|
MusePacketHandler.packagers.put(7, MusePacketToggleRequest.getPackagerInstance());
|
||||||
MusePacketHandler.packagers.put(8, MusePacketPlasmaBolt$.MODULE$);
|
MusePacketHandler.packagers.put(8, MusePacketPlasmaBolt.getPackagerInstance());
|
||||||
MusePacketHandler.packagers.put(10, MusePacketColourInfo$.MODULE$);
|
MusePacketHandler.packagers.put(10, MusePacketColourInfo.getPackagerInstance());
|
||||||
MusePacketHandler.packagers.put(11, MusePacketPropertyModifierConfig$.MODULE$);
|
MusePacketHandler.packagers.put(11, MusePacketPropertyModifierConfig.getPackagerInstance());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
package net.machinemuse.powersuits.powermodule;
|
package net.machinemuse.powersuits.powermodule;
|
||||||
|
|
||||||
import net.machinemuse.api.*;
|
import net.machinemuse.api.ILocalizeableModule;
|
||||||
|
import net.machinemuse.api.IPowerModule;
|
||||||
|
import net.machinemuse.api.IPropertyModifier;
|
||||||
|
import net.machinemuse.api.ModuleManager;
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.general.gui.MuseIcon;
|
import net.machinemuse.general.gui.MuseIcon;
|
||||||
import net.machinemuse.numina.render.MuseTextureUtils;
|
import net.machinemuse.numina.render.MuseTextureUtils;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.armor;
|
package net.machinemuse.powersuits.powermodule.armor;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.armor;
|
package net.machinemuse.powersuits.powermodule.armor;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.armor;
|
package net.machinemuse.powersuits.powermodule.armor;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.energy;
|
package net.machinemuse.powersuits.powermodule.energy;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.electricity.ElectricConversions;
|
import net.machinemuse.api.electricity.ElectricConversions;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
import net.machinemuse.utils.ElectricItemUtils;
|
import net.machinemuse.utils.ElectricItemUtils;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.energy;
|
package net.machinemuse.powersuits.powermodule.energy;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.energy;
|
package net.machinemuse.powersuits.powermodule.energy;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.electricity.ElectricConversions;
|
import net.machinemuse.api.electricity.ElectricConversions;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
import net.machinemuse.utils.ElectricItemUtils;
|
import net.machinemuse.utils.ElectricItemUtils;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.energy;
|
package net.machinemuse.powersuits.powermodule.energy;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.energy;
|
package net.machinemuse.powersuits.powermodule.energy;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.electricity.ElectricConversions;
|
import net.machinemuse.api.electricity.ElectricConversions;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
import net.machinemuse.utils.ElectricItemUtils;
|
import net.machinemuse.utils.ElectricItemUtils;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package net.machinemuse.powersuits.powermodule.energy;
|
package net.machinemuse.powersuits.powermodule.energy;
|
||||||
|
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package net.machinemuse.powersuits.powermodule.energy;
|
package net.machinemuse.powersuits.powermodule.energy;
|
||||||
|
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package net.machinemuse.powersuits.powermodule.energy;
|
package net.machinemuse.powersuits.powermodule.energy;
|
||||||
|
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.misc;
|
package net.machinemuse.powersuits.powermodule.misc;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.common.Config;
|
import net.machinemuse.powersuits.common.Config;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.misc;
|
package net.machinemuse.powersuits.powermodule.misc;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -51,7 +51,7 @@ public class InPlaceAssemblerModule extends PowerModuleBase implements IRightCli
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRightClick(EntityPlayer player, World world, ItemStack item) {
|
public void onRightClick(EntityPlayer player, World world, ItemStack item) {
|
||||||
player.openGui(ModularPowersuits.INSTANCE(), 4, world, (int) player.posX, (int) player.posY, (int) player.posZ);
|
player.openGui(ModularPowersuits.getInstance(), 4, world, (int) player.posX, (int) player.posY, (int) player.posZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,8 @@ package net.machinemuse.powersuits.powermodule.misc;
|
||||||
|
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package net.machinemuse.powersuits.powermodule.misc;
|
package net.machinemuse.powersuits.powermodule.misc;
|
||||||
|
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -2,8 +2,8 @@ package net.machinemuse.powersuits.powermodule.misc;
|
||||||
|
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.general.sound.SoundDictionary;
|
import net.machinemuse.general.sound.SoundDictionary;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.movement;
|
package net.machinemuse.powersuits.powermodule.movement;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||||
import net.machinemuse.numina.player.NuminaPlayerUtils;
|
import net.machinemuse.numina.player.NuminaPlayerUtils;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.movement;
|
package net.machinemuse.powersuits.powermodule.movement;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.numina.player.NuminaPlayerUtils;
|
import net.machinemuse.numina.player.NuminaPlayerUtils;
|
||||||
|
|
|
@ -2,8 +2,8 @@ package net.machinemuse.powersuits.powermodule.movement;
|
||||||
|
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.general.sound.SoundDictionary;
|
import net.machinemuse.general.sound.SoundDictionary;
|
||||||
|
|
|
@ -2,8 +2,8 @@ package net.machinemuse.powersuits.powermodule.movement;
|
||||||
|
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.general.sound.SoundDictionary;
|
import net.machinemuse.general.sound.SoundDictionary;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.movement;
|
package net.machinemuse.powersuits.powermodule.movement;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.numina.player.NuminaPlayerUtils;
|
import net.machinemuse.numina.player.NuminaPlayerUtils;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.movement;
|
package net.machinemuse.powersuits.powermodule.movement;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -2,8 +2,8 @@ package net.machinemuse.powersuits.powermodule.movement;
|
||||||
|
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.general.sound.SoundDictionary;
|
import net.machinemuse.general.sound.SoundDictionary;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.numina.general.MuseLogger;
|
import net.machinemuse.numina.general.MuseLogger;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
|
|
@ -63,7 +63,7 @@ public class FieldTinkerModule extends PowerModuleBase implements IRightClickMod
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRightClick(EntityPlayer player, World world, ItemStack item) {
|
public void onRightClick(EntityPlayer player, World world, ItemStack item) {
|
||||||
player.openGui(ModularPowersuits.INSTANCE(), 2, world, (int)player.posX, (int)player.posY, (int)player.posZ);
|
player.openGui(ModularPowersuits.getInstance(), 2, world, (int)player.posX, (int)player.posY, (int)player.posZ);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
import cpw.mods.fml.common.eventhandler.Event;
|
import cpw.mods.fml.common.eventhandler.Event;
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.IPowerModule;
|
import net.machinemuse.api.IPowerModule;
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||||
import net.machinemuse.powersuits.entity.EntityLuxCapacitor;
|
import net.machinemuse.powersuits.entity.EntityLuxCapacitor;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||||
import net.machinemuse.powersuits.common.Config;
|
import net.machinemuse.powersuits.common.Config;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
||||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.tool;
|
package net.machinemuse.powersuits.powermodule.tool;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
import net.machinemuse.api.moduletrigger.IBlockBreakingModule;
|
||||||
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
import net.machinemuse.api.moduletrigger.IToggleableModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.weapon;
|
package net.machinemuse.powersuits.powermodule.weapon;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||||
import net.machinemuse.powersuits.entity.EntitySpinningBlade;
|
import net.machinemuse.powersuits.entity.EntitySpinningBlade;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package net.machinemuse.powersuits.powermodule.weapon;
|
package net.machinemuse.powersuits.powermodule.weapon;
|
||||||
|
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
import net.machinemuse.powersuits.powermodule.PowerModuleBase;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.weapon;
|
package net.machinemuse.powersuits.powermodule.weapon;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||||
import net.machinemuse.numina.general.MuseMathUtils;
|
import net.machinemuse.numina.general.MuseMathUtils;
|
||||||
import net.machinemuse.numina.network.PacketSender;
|
import net.machinemuse.numina.network.PacketSender;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.powersuits.powermodule.weapon;
|
package net.machinemuse.powersuits.powermodule.weapon;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
import net.machinemuse.api.moduletrigger.IPlayerTickModule;
|
||||||
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
import net.machinemuse.api.moduletrigger.IRightClickModule;
|
||||||
import net.machinemuse.powersuits.item.ItemComponent;
|
import net.machinemuse.powersuits.item.ItemComponent;
|
||||||
|
|
|
@ -2,10 +2,10 @@ package net.machinemuse.utils;
|
||||||
|
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.IPowerModule;
|
import net.machinemuse.api.IPowerModule;
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
import net.machinemuse.api.MuseItemTag;
|
import net.machinemuse.api.MuseItemTag;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.numina.general.MuseLogger;
|
import net.machinemuse.numina.general.MuseLogger;
|
||||||
import net.machinemuse.numina.general.MuseMathUtils;
|
import net.machinemuse.numina.general.MuseMathUtils;
|
||||||
import net.machinemuse.powersuits.client.render.modelspec.DefaultModelSpec;
|
import net.machinemuse.powersuits.client.render.modelspec.DefaultModelSpec;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.machinemuse.utils;
|
package net.machinemuse.utils;
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem;
|
|
||||||
import net.machinemuse.api.ModuleManager;
|
import net.machinemuse.api.ModuleManager;
|
||||||
|
import net.machinemuse.api.electricity.IModularItem;
|
||||||
import net.machinemuse.numina.general.MuseLogger;
|
import net.machinemuse.numina.general.MuseLogger;
|
||||||
import net.machinemuse.numina.general.MuseMathUtils;
|
import net.machinemuse.numina.general.MuseMathUtils;
|
||||||
import net.machinemuse.numina.player.NuminaPlayerUtils;
|
import net.machinemuse.numina.player.NuminaPlayerUtils;
|
||||||
|
|
|
@ -54,49 +54,49 @@ public class GuiIcons {
|
||||||
|
|
||||||
public static class Checkmark extends GuiIcon {
|
public static class Checkmark extends GuiIcon {
|
||||||
public Checkmark(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
public Checkmark(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
||||||
super(16.0, Config.TEXTURE_PREFIX() + "gui/checkmark.png", x, y, c, xmin, ymin, xmax, ymax);
|
super(16.0, Config.TEXTURE_PREFIX + "gui/checkmark.png", x, y, c, xmin, ymin, xmax, ymax);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class TransparentArmor extends GuiIcon {
|
public static class TransparentArmor extends GuiIcon {
|
||||||
public TransparentArmor(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
public TransparentArmor(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
||||||
super(8.0, Config.TEXTURE_PREFIX() + "gui/transparentarmor.png", x, y, c, xmin, ymin, xmax, ymax);
|
super(8.0, Config.TEXTURE_PREFIX + "gui/transparentarmor.png", x, y, c, xmin, ymin, xmax, ymax);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class NormalArmor extends GuiIcon {
|
public static class NormalArmor extends GuiIcon {
|
||||||
public NormalArmor(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
public NormalArmor(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
||||||
super(8.0, Config.TEXTURE_PREFIX() + "gui/normalarmor.png", x, y, c, xmin, ymin, xmax, ymax);
|
super(8.0, Config.TEXTURE_PREFIX + "gui/normalarmor.png", x, y, c, xmin, ymin, xmax, ymax);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class GlowArmor extends GuiIcon {
|
public static class GlowArmor extends GuiIcon {
|
||||||
public GlowArmor(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
public GlowArmor(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
||||||
super(8.0, Config.TEXTURE_PREFIX() + "gui/glowarmor.png", x, y, c, xmin, ymin, xmax, ymax);
|
super(8.0, Config.TEXTURE_PREFIX + "gui/glowarmor.png", x, y, c, xmin, ymin, xmax, ymax);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class SelectedArmorOverlay extends GuiIcon {
|
public static class SelectedArmorOverlay extends GuiIcon {
|
||||||
public SelectedArmorOverlay(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
public SelectedArmorOverlay(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
||||||
super(8.0, Config.TEXTURE_PREFIX() + "gui/armordisplayselect.png", x, y, c, xmin, ymin, xmax, ymax);
|
super(8.0, Config.TEXTURE_PREFIX + "gui/armordisplayselect.png", x, y, c, xmin, ymin, xmax, ymax);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ArmourColourPatch extends GuiIcon {
|
public static class ArmourColourPatch extends GuiIcon {
|
||||||
public ArmourColourPatch(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
public ArmourColourPatch(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
||||||
super(8.0, Config.TEXTURE_PREFIX() + "gui/colourclicker.png", x, y, c, xmin, ymin, xmax, ymax);
|
super(8.0, Config.TEXTURE_PREFIX + "gui/colourclicker.png", x, y, c, xmin, ymin, xmax, ymax);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class MinusSign extends GuiIcon {
|
public static class MinusSign extends GuiIcon {
|
||||||
public MinusSign(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
public MinusSign(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
||||||
super(8.0, Config.TEXTURE_PREFIX() + "gui/minussign.png", x, y, c, xmin, ymin, xmax, ymax);
|
super(8.0, Config.TEXTURE_PREFIX + "gui/minussign.png", x, y, c, xmin, ymin, xmax, ymax);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class PlusSign extends GuiIcon {
|
public static class PlusSign extends GuiIcon {
|
||||||
public PlusSign(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
public PlusSign(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) {
|
||||||
super(8.0, Config.TEXTURE_PREFIX() + "gui/plussign.png", x, y, c, xmin, ymin, xmax, ymax);
|
super(8.0, Config.TEXTURE_PREFIX + "gui/plussign.png", x, y, c, xmin, ymin, xmax, ymax);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -276,7 +276,7 @@ public abstract class MuseRenderer {
|
||||||
double jagfactor = 0.3;
|
double jagfactor = 0.3;
|
||||||
RenderState.on2D();
|
RenderState.on2D();
|
||||||
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
GL11.glEnable(GL11.GL_DEPTH_TEST);
|
||||||
MuseTextureUtils.pushTexture(Config.LIGHTNING_TEXTURE());
|
MuseTextureUtils.pushTexture(Config.LIGHTNING_TEXTURE);
|
||||||
RenderState.blendingOn();
|
RenderState.blendingOn();
|
||||||
colour.doGL();
|
colour.doGL();
|
||||||
GL11.glBegin(GL11.GL_QUADS);
|
GL11.glBegin(GL11.GL_QUADS);
|
||||||
|
@ -301,7 +301,7 @@ public abstract class MuseRenderer {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void drawLightningBetweenPoints(double x1, double y1, double z1, double x2, double y2, double z2, int index) {
|
public static void drawLightningBetweenPoints(double x1, double y1, double z1, double x2, double y2, double z2, int index) {
|
||||||
MuseTextureUtils.pushTexture(Config.LIGHTNING_TEXTURE());
|
MuseTextureUtils.pushTexture(Config.LIGHTNING_TEXTURE);
|
||||||
double u1 = index / 50.0;
|
double u1 = index / 50.0;
|
||||||
double u2 = u1 + 0.02;
|
double u2 = u1 + 0.02;
|
||||||
double px = (y1 - y2) * 0.125;
|
double px = (y1 - y2) * 0.125;
|
||||||
|
|
|
@ -1,87 +0,0 @@
|
||||||
//package net.machinemuse.api
|
|
||||||
//
|
|
||||||
//import cpw.mods.fml.common.FMLCommonHandler
|
|
||||||
//import net.machinemuse.powersuits.powermodule.tool.{MFFSFieldTeleporterModule, OmniWrenchModule}
|
|
||||||
//import net.machinemuse.utils.ElectricItemUtils
|
|
||||||
//import net.minecraft.entity.item.EntityMinecart
|
|
||||||
//import net.minecraft.entity.player.EntityPlayer
|
|
||||||
//import net.minecraft.item.ItemStack
|
|
||||||
//
|
|
||||||
///**
|
|
||||||
// * Author: MachineMuse (Claire Semple)
|
|
||||||
// * Created: 5:06 PM, 29/04/13
|
|
||||||
// */
|
|
||||||
//trait OmniWrench
|
|
||||||
// extends ModularWrench
|
|
||||||
// with ModularCrowbar
|
|
||||||
// with ModularHammer
|
|
||||||
// with ForceFieldManipulator {
|
|
||||||
//
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//trait ModularCrowbar extends IToolCrowbar {
|
|
||||||
// def canWhack(player: EntityPlayer, crowbar: ItemStack, x: Int, y: Int, z: Int): Boolean = {
|
|
||||||
// return ModuleManager.itemHasActiveModule(crowbar, OmniWrenchModule.MODULE_OMNI_WRENCH)
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def onWhack(player: EntityPlayer, crowbar: ItemStack, x: Int, y: Int, z: Int) {
|
|
||||||
// player.swingItem
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def canLink(player: EntityPlayer, crowbar: ItemStack, cart: EntityMinecart): Boolean = {
|
|
||||||
// return ModuleManager.itemHasActiveModule(crowbar, OmniWrenchModule.MODULE_OMNI_WRENCH)
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def onLink(player: EntityPlayer, crowbar: ItemStack, cart: EntityMinecart) {
|
|
||||||
// player.swingItem
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def canBoost(player: EntityPlayer, crowbar: ItemStack, cart: EntityMinecart): Boolean = {
|
|
||||||
// return ModuleManager.itemHasActiveModule(crowbar, OmniWrenchModule.MODULE_OMNI_WRENCH)
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def onBoost(player: EntityPlayer, crowbar: ItemStack, cart: EntityMinecart) {
|
|
||||||
// player.swingItem
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//// Buildcraft wrench
|
|
||||||
//trait ModularWrench
|
|
||||||
// extends IToolWrench {
|
|
||||||
//
|
|
||||||
// def canWrench(player: EntityPlayer, x: Int, y: Int, z: Int): Boolean = {
|
|
||||||
// if (player.getCurrentEquippedItem != null && player.getCurrentEquippedItem.getItem.isInstanceOf[IModularItem]) {
|
|
||||||
// return ModuleManager.itemHasActiveModule(player.getCurrentEquippedItem, OmniWrenchModule.MODULE_OMNI_WRENCH)
|
|
||||||
// }
|
|
||||||
// return false
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def wrenchUsed(player: EntityPlayer, x: Int, y: Int, z: Int) {
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//// MFR wrench
|
|
||||||
//trait ModularHammer extends IToolHammerAdvanced {
|
|
||||||
// def isActive(stack: ItemStack): Boolean = ModuleManager.itemHasActiveModule(stack, OmniWrenchModule.MODULE_OMNI_WRENCH)
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//trait ForceFieldManipulator extends IFieldTeleporter {
|
|
||||||
// def canFieldTeleport(player: EntityPlayer, stack: ItemStack, teleportCost: Int): Boolean = {
|
|
||||||
// if (ModuleManager.itemHasModule(stack, MFFSFieldTeleporterModule.MODULE_FIELD_TELEPORTER)) {
|
|
||||||
// if (ElectricItemUtils.getPlayerEnergy(player) > ModuleManager.computeModularProperty(stack, MFFSFieldTeleporterModule.FIELD_TELEPORTER_ENERGY_CONSUMPTION)) {
|
|
||||||
// return true
|
|
||||||
// }
|
|
||||||
// else if (FMLCommonHandler.instance.getEffectiveSide.isServer) {
|
|
||||||
// player.sendChatToPlayer(ChatMessageComponent.createFromText("[Field Security] Could not teleport through forcefield. 20,000J is required to teleport."))
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return false
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def onFieldTeleportSuccess(player: EntityPlayer, stack: ItemStack, teleportCost: Int) {
|
|
||||||
// ElectricItemUtils.drainPlayerEnergy(player, ModuleManager.computeModularProperty(stack, MFFSFieldTeleporterModule.FIELD_TELEPORTER_ENERGY_CONSUMPTION))
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def onFieldTeleportFailed(player: EntityPlayer, stack: ItemStack, teleportCost: Int) {
|
|
||||||
// }
|
|
||||||
//}
|
|
|
@ -1,171 +0,0 @@
|
||||||
//package net.machinemuse.general.gui.frame
|
|
||||||
//
|
|
||||||
//import java.util
|
|
||||||
//
|
|
||||||
//import net.machinemuse.general.gui.clickable.ClickableSlider
|
|
||||||
//import net.machinemuse.numina.general.MuseLogger
|
|
||||||
//import net.machinemuse.numina.geometry.{Colour, DrawableMuseRect, MusePoint2D, MuseRect}
|
|
||||||
//import net.machinemuse.numina.network.PacketSender
|
|
||||||
//import net.machinemuse.powersuits.item.ItemPowerArmor
|
|
||||||
//import net.machinemuse.powersuits.network.packets.MusePacketColourInfo
|
|
||||||
//import net.machinemuse.utils.MuseItemUtils
|
|
||||||
//import net.machinemuse.utils.render.GuiIcons._
|
|
||||||
//import net.minecraft.client.Minecraft
|
|
||||||
//import net.minecraft.nbt.NBTTagIntArray
|
|
||||||
//import net.minecraft.util.StatCollector
|
|
||||||
//
|
|
||||||
//import scala.collection.mutable
|
|
||||||
//
|
|
||||||
///**
|
|
||||||
// * Author: MachineMuse (Claire Semple)
|
|
||||||
// * Created: 4:19 AM, 03/05/13
|
|
||||||
// */
|
|
||||||
//class ColourPickerFrame(val borderRef: MuseRect, val insideColour: Colour, val borderColour: Colour, val itemSelector: ItemSelectionFrame) extends IGuiFrame {
|
|
||||||
// val border = new DrawableMuseRect(borderRef, insideColour, borderColour)
|
|
||||||
// val rslider: ClickableSlider = new ClickableSlider(new MusePoint2D(border.centerx, border.top + 8), border.width - 10, StatCollector.translateToLocal("gui.red"))
|
|
||||||
// val gslider: ClickableSlider = new ClickableSlider(new MusePoint2D(border.centerx, border.top + 24), border.width - 10, StatCollector.translateToLocal("gui.green"))
|
|
||||||
// val bslider: ClickableSlider = new ClickableSlider(new MusePoint2D(border.centerx, border.top + 40), border.width - 10, StatCollector.translateToLocal("gui.blue"))
|
|
||||||
//
|
|
||||||
// def colours: Array[Int] = getOrCreateColourTag.map(e => e.func_150302_c /*getIntArray()*/ ).getOrElse(Array.empty)
|
|
||||||
//
|
|
||||||
// var selectedSlider: Option[ClickableSlider] = None
|
|
||||||
// var selectedColour: Int = 0
|
|
||||||
// var decrAbove: Int = -1
|
|
||||||
//
|
|
||||||
// def getOrCreateColourTag: Option[NBTTagIntArray] = {
|
|
||||||
// if (itemSelector.getSelectedItem == null) return None
|
|
||||||
// val renderSpec = MuseItemUtils.getMuseRenderTag(itemSelector.getSelectedItem.getItem)
|
|
||||||
// if (renderSpec.hasKey("colours") && renderSpec.getTag("colours").isInstanceOf[NBTTagIntArray]) Some(renderSpec.getTag("colours").asInstanceOf[NBTTagIntArray])
|
|
||||||
// else {
|
|
||||||
// itemSelector.getSelectedItem.getItem.getItem match {
|
|
||||||
// case itembase: ItemPowerArmor =>
|
|
||||||
// val intArray: Array[Int] = Array(itembase.getColorFromItemStack(itemSelector.getSelectedItem.getItem).getInt, itembase.getGlowFromItemStack(itemSelector.getSelectedItem.getItem).getInt)
|
|
||||||
// renderSpec.setIntArray("colours", intArray)
|
|
||||||
// case _ =>
|
|
||||||
// val intArray: Array[Int] = Array.empty
|
|
||||||
// renderSpec.setIntArray("colours", intArray)
|
|
||||||
// }
|
|
||||||
// val player = Minecraft.getMinecraft.thePlayer
|
|
||||||
// if (player.worldObj.isRemote) {
|
|
||||||
// PacketSender.sendToServer(new MusePacketColourInfo(player, itemSelector.getSelectedItem.inventorySlot, colours))
|
|
||||||
// }
|
|
||||||
// Some(renderSpec.getTag("colours").asInstanceOf[NBTTagIntArray])
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def setColourTagMaybe(newarray: Array[Int]): Option[NBTTagIntArray] = {
|
|
||||||
// if (itemSelector.getSelectedItem == null) return None
|
|
||||||
// val renderSpec = MuseItemUtils.getMuseRenderTag(itemSelector.getSelectedItem.getItem)
|
|
||||||
// renderSpec.setTag("colours", new NBTTagIntArray(newarray))
|
|
||||||
// val player = Minecraft.getMinecraft.thePlayer
|
|
||||||
// if (player.worldObj.isRemote)
|
|
||||||
// PacketSender.sendToServer(new MusePacketColourInfo(player, itemSelector.getSelectedItem.inventorySlot, colours))
|
|
||||||
// Some(renderSpec.getTag("colours").asInstanceOf[NBTTagIntArray])
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def importColours = {
|
|
||||||
// val colours = mutable.Buffer.empty[Int]
|
|
||||||
// colours
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def refreshColours() {
|
|
||||||
// // getOrCreateColourTag.map(coloursTag => {
|
|
||||||
// // val colourints: Array[Int] = coloursTag.intArray
|
|
||||||
// // val colourset: HashSet[Int] = HashSet.empty ++ colours ++ colourints
|
|
||||||
// // val colourarray = colourset.toArray
|
|
||||||
// // coloursTag.intArray = colourarray
|
|
||||||
// // })
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def onMouseUp(x: Double, y: Double, button: Int) {
|
|
||||||
// selectedSlider = None
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def update(mousex: Double, mousey: Double) {
|
|
||||||
// selectedSlider.foreach(s => {
|
|
||||||
// s.setValueByX(mousex)
|
|
||||||
// if (colours.size > selectedColour) {
|
|
||||||
// colours(selectedColour) = Colour.getInt(rslider.value, gslider.value, bslider.value, 1.0)
|
|
||||||
// val player = Minecraft.getMinecraft.thePlayer
|
|
||||||
// if (player.worldObj.isRemote)
|
|
||||||
// PacketSender.sendToServer(new MusePacketColourInfo(player, itemSelector.getSelectedItem.inventorySlot, colours))
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def draw() {
|
|
||||||
// border.draw()
|
|
||||||
// rslider.draw()
|
|
||||||
// gslider.draw()
|
|
||||||
// bslider.draw()
|
|
||||||
// for (i <- colours.indices) {
|
|
||||||
// new ArmourColourPatch(border.left + 8 + i * 8, border.bottom - 16, new Colour(colours(i)), null, null, null, null)
|
|
||||||
// }
|
|
||||||
// new ArmourColourPatch(border.left + 8 + colours.size * 8, border.bottom - 16, Colour.WHITE, null, null, null, null)
|
|
||||||
// new SelectedArmorOverlay(border.left + 8 + selectedColour * 8, border.bottom - 16, Colour.WHITE, null, null, null, null)
|
|
||||||
// new MinusSign(border.left + 8 + selectedColour * 8, border.bottom - 24, Colour.RED, null, null, null, null)
|
|
||||||
// new PlusSign(border.left + 8 + colours.size * 8, border.bottom - 16, Colour.GREEN, null, null, null, null)
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def getToolTip(x: Int, y: Int): util.List[String] = null
|
|
||||||
//
|
|
||||||
// def onSelectColour(i: Int) {
|
|
||||||
// val c: Colour = new Colour(colours(i))
|
|
||||||
// rslider.setValue(c.r)
|
|
||||||
// gslider.setValue(c.g)
|
|
||||||
// bslider.setValue(c.b)
|
|
||||||
// selectedColour = i
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def onMouseDown(x: Double, y: Double, button: Int) {
|
|
||||||
// if (rslider.hitBox(x, y)) {
|
|
||||||
// selectedSlider = Some(rslider)
|
|
||||||
// } else if (gslider.hitBox(x, y)) {
|
|
||||||
// selectedSlider = Some(gslider)
|
|
||||||
// } else if (bslider.hitBox(x, y)) {
|
|
||||||
// selectedSlider = Some(bslider)
|
|
||||||
// } else {
|
|
||||||
// selectedSlider = None
|
|
||||||
// }
|
|
||||||
// // add
|
|
||||||
// if (y > border.bottom - 16 && y < border.bottom - 8) {
|
|
||||||
// val colourCol: Int = (x - border.left - 8.0).toInt / 8
|
|
||||||
// if (colourCol >= 0 && colourCol < colours.size) {
|
|
||||||
// onSelectColour(colourCol.toInt)
|
|
||||||
// } else if (colourCol == colours.size) {
|
|
||||||
// MuseLogger.logDebug("Adding")
|
|
||||||
// getOrCreateColourTag.map(e => {setColourTagMaybe(getIntArray(e) :+ Colour.WHITE.getInt)}) // append White
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// // remove
|
|
||||||
// if (y.>(border.bottom.-(24)).&&(y.<(border.bottom.-(16))).&&(x.>(border.left.+(8).+(selectedColour.*(8)))).&&(x.<(border.left.+(16).+(selectedColour.*(8))))) {
|
|
||||||
// getOrCreateColourTag.foreach((e: NBTTagIntArray) => {
|
|
||||||
//
|
|
||||||
// // if (getIntArray(nbtTagIntArray).length > 1) {
|
|
||||||
// if (Predef.intArrayOps(getIntArray(e)).size.>(1)) {
|
|
||||||
// setColourTagMaybe( Predef.intArrayOps(getIntArray(e)).diff(Predef.wrapIntArray(Array.apply(getIntArray(e)(selectedColour)))));
|
|
||||||
// decrAbove_=(selectedColour);
|
|
||||||
// if (selectedColour.==(Predef.intArrayOps(getIntArray(e)).size)) {
|
|
||||||
// selectedColour_=(selectedColour.-(1));
|
|
||||||
// };
|
|
||||||
// val player: net.minecraft.client.entity.EntityClientPlayerMP = Minecraft.getMinecraft.thePlayer;
|
|
||||||
// if (player.worldObj.isRemote)
|
|
||||||
// PacketSender.sendToServer(new MusePacketColourInfo(player, itemSelector.getSelectedItem.inventorySlot, e.func_150302_c));
|
|
||||||
// };
|
|
||||||
// });
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// def getIntArray(e:NBTTagIntArray) = e.func_150302_c()
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
|
@ -1,79 +0,0 @@
|
||||||
//package net.machinemuse.general.gui.frame
|
|
||||||
//
|
|
||||||
//import net.machinemuse.numina.geometry.{Colour, MusePoint2D, MuseRelativeRect}
|
|
||||||
//import net.machinemuse.powersuits.client.render.modelspec.{ModelRegistry, ModelSpec}
|
|
||||||
//import org.lwjgl.opengl.GL11._
|
|
||||||
//
|
|
||||||
///**
|
|
||||||
// * Author: MachineMuse (Claire Semple)
|
|
||||||
// * Created: 6:39 PM, 29/04/13
|
|
||||||
// */
|
|
||||||
//class PartManipContainer(val itemSelect: ItemSelectionFrame, val colourSelect: ColourPickerFrame, topleft: MusePoint2D, bottomright: MusePoint2D, borderColour: Colour, insideColour: Colour)
|
|
||||||
// extends ScrollableFrame(topleft, bottomright, borderColour, insideColour) {
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// def getItem = Option(itemSelect.getSelectedItem).map(e => e.getItem)
|
|
||||||
//
|
|
||||||
// def getItemSlot = Option(itemSelect.getSelectedItem).map(e => e.inventorySlot)
|
|
||||||
// var lastItemSlot: Option[Int] = None
|
|
||||||
//
|
|
||||||
// def getColour = if(getItem != None && colourSelect.selectedColour < colourSelect.colours.size && colourSelect.selectedColour >= 0)
|
|
||||||
// colourSelect.colours(colourSelect.selectedColour)
|
|
||||||
// else
|
|
||||||
// Colour.WHITE.getInt
|
|
||||||
// var lastColour = getColour
|
|
||||||
//
|
|
||||||
// def getColourIndex = colourSelect.selectedColour
|
|
||||||
// var lastColourIndex = getColourIndex
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// val modelframes: Seq[PartManipSubFrame] =
|
|
||||||
// (ModelRegistry.getInstance().apply.values./:(Tuple2.apply(Seq.empty[PartManipSubFrame], scala.None: Option[PartManipSubFrame]))) ({
|
|
||||||
// case ((frameseq, prev), modelspec: ModelSpec) => {
|
|
||||||
// val newframe: PartManipSubFrame = createNewFrame(modelspec, prev);
|
|
||||||
// Tuple2.apply(frameseq.:+(newframe), Some.apply(newframe));
|
|
||||||
// }
|
|
||||||
// })._1;
|
|
||||||
//
|
|
||||||
// def createNewFrame(modelspec: ModelSpec, prev: Option[PartManipSubFrame]) = {
|
|
||||||
// val newborder = new MuseRelativeRect(topleft.x + 4, topleft.y + 4, bottomright.x, topleft.y + 10)
|
|
||||||
// newborder.setBelow(prev.map(e => e.border) getOrElse null)
|
|
||||||
// new PartManipSubFrame(modelspec, colourSelect, itemSelect, newborder)
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// override def onMouseDown(x: Double, y: Double, button: Int) {
|
|
||||||
// if (button == 0) {
|
|
||||||
// for (frame <- modelframes) {
|
|
||||||
// frame.tryMouseClick(x, y + currentscrollpixels)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// override def update(mousex: Double, mousey: Double) {
|
|
||||||
// super.update(mousex, mousey)
|
|
||||||
// if (lastItemSlot != getItemSlot) {
|
|
||||||
// lastItemSlot = getItemSlot
|
|
||||||
// colourSelect.refreshColours()
|
|
||||||
// this.totalsize = (0.0 /: modelframes) {
|
|
||||||
// (acc, subframe) => subframe.updateItems(); subframe.border.bottom()
|
|
||||||
// }.toInt
|
|
||||||
// }
|
|
||||||
// if(colourSelect.decrAbove > -1) {
|
|
||||||
// decrAbove(colourSelect.decrAbove)
|
|
||||||
// colourSelect.decrAbove = -1
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def decrAbove(index:Int) {for(frame<-modelframes) frame.decrAbove(index)}
|
|
||||||
//
|
|
||||||
// override def draw() {
|
|
||||||
// super.preDraw()
|
|
||||||
// glPushMatrix()
|
|
||||||
// glTranslated(0, -currentscrollpixels, 0)
|
|
||||||
// for (f <- modelframes) {
|
|
||||||
// f.drawPartial(currentscrollpixels + 4 + border.top, this.currentscrollpixels + border.bottom - 4)
|
|
||||||
// }
|
|
||||||
// glPopMatrix()
|
|
||||||
// super.postDraw()
|
|
||||||
// }
|
|
||||||
//}
|
|
|
@ -1,211 +0,0 @@
|
||||||
//package net.machinemuse.general.gui.frame
|
|
||||||
//
|
|
||||||
//import net.machinemuse.general.gui.clickable.ClickableItem
|
|
||||||
//import net.machinemuse.numina.general.MuseLogger
|
|
||||||
//import net.machinemuse.numina.geometry.{Colour, MuseRect, MuseRelativeRect}
|
|
||||||
//import net.machinemuse.numina.network.PacketSender
|
|
||||||
//import net.machinemuse.numina.render.RenderState
|
|
||||||
//import net.machinemuse.powersuits.client.render.modelspec.{ModelPartSpec, ModelRegistry, ModelSpec}
|
|
||||||
//import net.machinemuse.powersuits.network.packets.MusePacketCosmeticInfo
|
|
||||||
//import net.machinemuse.utils.MuseItemUtils
|
|
||||||
//import net.machinemuse.utils.render.{GuiIcons, MuseRenderer}
|
|
||||||
//import net.minecraft.client.Minecraft
|
|
||||||
//import net.minecraft.item.ItemArmor
|
|
||||||
//import net.minecraft.nbt.NBTTagCompound
|
|
||||||
//import org.lwjgl.opengl.GL11._
|
|
||||||
//
|
|
||||||
///**
|
|
||||||
// * Author: MachineMuse (Claire Semple)
|
|
||||||
// * Created: 1:46 AM, 30/04/13
|
|
||||||
// */
|
|
||||||
//class PartManipSubFrame(val model: ModelSpec, val colourframe: ColourPickerFrame, val itemSelector: ItemSelectionFrame, val border: MuseRelativeRect) {
|
|
||||||
//
|
|
||||||
// // see the java filter function in the recipes for an example on how to implement a filter in Java
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// var specs: Array[ModelPartSpec] = model.apply.values.filter(spec => isValidArmor(getSelectedItem, spec.slot)).toArray
|
|
||||||
// var open: Boolean = true
|
|
||||||
// var mousex: Double = 0
|
|
||||||
// var mousey: Double = 0
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// def getArmorSlot = getSelectedItem.getItem.getItem.asInstanceOf[ItemArmor].armorType
|
|
||||||
//
|
|
||||||
// def getSelectedItem = itemSelector.getSelectedItem
|
|
||||||
//
|
|
||||||
// def getRenderTag: NBTTagCompound = MuseItemUtils.getMuseRenderTag(getSelectedItem.getItem, getArmorSlot)
|
|
||||||
//
|
|
||||||
// def getItemTag = MuseItemUtils.getMuseItemTag(getSelectedItem.getItem)
|
|
||||||
//
|
|
||||||
// def isValidArmor(clickie: ClickableItem, slot: Int): Boolean = if (clickie == null) false else clickie.getItem.getItem.isValidArmor(clickie.getItem, slot, Minecraft.getMinecraft.thePlayer)
|
|
||||||
//
|
|
||||||
// def getSpecTag(spec: ModelPartSpec) = getRenderTag.getCompoundTag(ModelRegistry.getInstance().makeName(spec))
|
|
||||||
//
|
|
||||||
// def getOrDontGetSpecTag(spec: ModelPartSpec): Option[NBTTagCompound] = {
|
|
||||||
// val name = ModelRegistry.getInstance().makeName(spec)
|
|
||||||
// if (!getRenderTag.hasKey(name)) None
|
|
||||||
// else Some(getRenderTag.getCompoundTag(name))
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def getOrMakeSpecTag(spec: ModelPartSpec): NBTTagCompound = {
|
|
||||||
// val name = ModelRegistry.getInstance().makeName(spec)
|
|
||||||
// if (!getRenderTag.hasKey(name)) {
|
|
||||||
// val k = new NBTTagCompound()
|
|
||||||
// spec.multiSet(k, None, None, None)
|
|
||||||
// getRenderTag.setTag(name, k)
|
|
||||||
// k
|
|
||||||
// } else {
|
|
||||||
// getRenderTag.getCompoundTag(name)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def updateItems() {
|
|
||||||
// specs = model.apply.values.filter(spec => isValidArmor(getSelectedItem, spec.slot)).toArray
|
|
||||||
// border.setHeight(if (specs.size > 0) specs.size * 8 + 10 else 0)
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def drawPartial(min: Double, max: Double) {
|
|
||||||
// if (specs.size > 0) {
|
|
||||||
// ModelRegistry.getInstance().getName(model).foreach(s => MuseRenderer.drawString(s, border.left + 8, border.top))
|
|
||||||
// drawOpenArrow(min, max)
|
|
||||||
// if (open) {
|
|
||||||
// ((border.top + 8) /: specs) {
|
|
||||||
// case (y, spec) => {
|
|
||||||
// drawSpecPartial(border.left, y, spec, min, max)
|
|
||||||
// y + 8
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def decrAbove(index: Int) {
|
|
||||||
// for (spec <- specs) {
|
|
||||||
// val tagname = ModelRegistry.getInstance().makeName(spec)
|
|
||||||
// val player = Minecraft.getMinecraft.thePlayer
|
|
||||||
// val tagdata = getOrDontGetSpecTag(spec)
|
|
||||||
// tagdata.foreach(e => {
|
|
||||||
// val oldindex = spec.getColourIndex(e)
|
|
||||||
// if (oldindex >= index && oldindex > 0) {
|
|
||||||
// spec.setColourIndex(e, oldindex - 1)
|
|
||||||
// if (player.worldObj.isRemote) PacketSender.sendToServer(new MusePacketCosmeticInfo(player, getSelectedItem.inventorySlot, tagname, e).getPacket131)
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def drawSpecPartial(x: Double, y: Double, spec: ModelPartSpec, ymino: Double, ymaxo: Double) = {
|
|
||||||
// val tag = getSpecTag(spec)
|
|
||||||
// val selcomp = if (tag.hasNoTags) 0 else if (spec.getGlow(tag)) 2 else 1
|
|
||||||
// val selcolour = spec.getColourIndex(tag)
|
|
||||||
// new GuiIcons.TransparentArmor(x, y, null, null, ymino, null, ymaxo)
|
|
||||||
// new GuiIcons.NormalArmor(x + 8, y, null, null, ymino, null, ymaxo)
|
|
||||||
// new GuiIcons.GlowArmor(x + 16, y, null, null, ymino, null, ymaxo)
|
|
||||||
// new GuiIcons.SelectedArmorOverlay(x + selcomp * 8, y, null, null, ymino, null, ymaxo)
|
|
||||||
// val textstartx: Double = ((x + 28) /: colourframe.colours) {
|
|
||||||
// case (acc, colour) =>
|
|
||||||
// new GuiIcons.ArmourColourPatch(acc, y, new Colour(colour), null, ymino, null, ymaxo)
|
|
||||||
// acc + 8
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /*
|
|
||||||
// val textstartx = ((x + 28) /: colourframe.colours) {
|
|
||||||
// case (acc, colour) =>
|
|
||||||
// new GuiIcons.ArmourColourPatch(acc, y, new Colour(colour), null, ymino, null, ymaxo)
|
|
||||||
// acc + 8
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// */
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// if (selcomp > 0) {
|
|
||||||
// new GuiIcons.SelectedArmorOverlay(x + 28 + selcolour * 8, y, null, null, ymino, null, ymaxo)
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// MuseRenderer.drawString(spec.displayName, textstartx + 4, y)
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def drawOpenArrow(min: Double, max: Double) {
|
|
||||||
// RenderState.texturelessOn()
|
|
||||||
// Colour.LIGHTBLUE.doGL()
|
|
||||||
// glBegin(GL_TRIANGLES)
|
|
||||||
// import net.machinemuse.numina.general.MuseMathUtils._
|
|
||||||
// if (open) {
|
|
||||||
// glVertex2d(border.left + 3, clampDouble(border.top + 3, min, max))
|
|
||||||
// glVertex2d(border.left + 5, clampDouble(border.top + 7, min, max))
|
|
||||||
// glVertex2d(border.left + 7, clampDouble(border.top + 3, min, max))
|
|
||||||
// } else {
|
|
||||||
// glVertex2d(border.left + 3, clampDouble(border.top + 3, min, max))
|
|
||||||
// glVertex2d(border.left + 3, clampDouble(border.top + 7, min, max))
|
|
||||||
// glVertex2d(border.left + 7, clampDouble(border.top + 5, min, max))
|
|
||||||
// }
|
|
||||||
// glEnd()
|
|
||||||
// Colour.WHITE.doGL()
|
|
||||||
// RenderState.texturelessOff()
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def getBorder: MuseRect = {
|
|
||||||
// if (open) border.setHeight(9 + 9 * specs.size)
|
|
||||||
// else border.setHeight(9)
|
|
||||||
// border
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// def tryMouseClick(x: Double, y: Double): Boolean = {
|
|
||||||
// if (x < border.left || x > border.right || y < border.top || y > border.bottom) false
|
|
||||||
// else if (x > border.left + 2 && x < border.left + 8 && y > border.top + 2 && y < border.top + 8) {
|
|
||||||
// open = !open
|
|
||||||
// getBorder
|
|
||||||
// true
|
|
||||||
// } else if (x < border.left + 24 && y > border.top + 8) {
|
|
||||||
// val lineNumber = ((y - border.top - 8) / 8).toInt
|
|
||||||
// val columnNumber = ((x - border.left) / 8).toInt
|
|
||||||
// val spec = specs(lineNumber.min(specs.size - 1).max(0))
|
|
||||||
// MuseLogger.logDebug("Line " + lineNumber + " Column " + columnNumber)
|
|
||||||
// columnNumber match {
|
|
||||||
// case 0 => {
|
|
||||||
// val renderTag = getRenderTag
|
|
||||||
// val tagname = ModelRegistry.getInstance().makeName(spec)
|
|
||||||
// val player = Minecraft.getMinecraft.thePlayer
|
|
||||||
// renderTag.removeTag(ModelRegistry.getInstance().makeName(spec))
|
|
||||||
// if (player.worldObj.isRemote) PacketSender.sendToServer(new MusePacketCosmeticInfo(player, getSelectedItem.inventorySlot, tagname, new NBTTagCompound()).getPacket131)
|
|
||||||
// updateItems()
|
|
||||||
// true
|
|
||||||
// }
|
|
||||||
// case 1 => {
|
|
||||||
// val tagname = ModelRegistry.getInstance().makeName(spec)
|
|
||||||
// val player = Minecraft.getMinecraft.thePlayer
|
|
||||||
// val tagdata = getOrMakeSpecTag(spec)
|
|
||||||
// spec.setGlow(tagdata, false)
|
|
||||||
// if (player.worldObj.isRemote) PacketSender.sendToServer(new MusePacketCosmeticInfo(player, getSelectedItem.inventorySlot, tagname, tagdata).getPacket131)
|
|
||||||
// updateItems()
|
|
||||||
// true
|
|
||||||
// }
|
|
||||||
// case 2 => {
|
|
||||||
// val tagname = ModelRegistry.getInstance().makeName(spec)
|
|
||||||
// val player = Minecraft.getMinecraft.thePlayer
|
|
||||||
// val tagdata = getOrMakeSpecTag(spec)
|
|
||||||
// spec.setGlow(tagdata, true)
|
|
||||||
// if (player.worldObj.isRemote) PacketSender.sendToServer(new MusePacketCosmeticInfo(player, getSelectedItem.inventorySlot, tagname, tagdata).getPacket131)
|
|
||||||
// updateItems()
|
|
||||||
// true
|
|
||||||
// }
|
|
||||||
// case _ => false
|
|
||||||
// }
|
|
||||||
// } else if (x > border.left + 28 && x < border.left + 28 + colourframe.colours.size * 8) {
|
|
||||||
// val lineNumber = ((y - border.top - 8) / 8).toInt
|
|
||||||
// val columnNumber = ((x - border.left - 28) / 8).toInt
|
|
||||||
// val spec = specs(lineNumber.min(specs.size - 1).max(0))
|
|
||||||
// val tagname = ModelRegistry.getInstance().makeName(spec)
|
|
||||||
// val player = Minecraft.getMinecraft.thePlayer
|
|
||||||
// val tagdata = getOrMakeSpecTag(spec)
|
|
||||||
// spec.setColourIndex(tagdata, columnNumber)
|
|
||||||
// if (player.worldObj.isRemote) PacketSender.sendToServer(new MusePacketCosmeticInfo(player, getSelectedItem.inventorySlot, tagname, tagdata).getPacket131)
|
|
||||||
// true
|
|
||||||
// }
|
|
||||||
// else false
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//}
|
|
|
@ -1,21 +0,0 @@
|
||||||
package net.machinemuse.powersuits.client.render.modelspec
|
|
||||||
|
|
||||||
import java.io.{File, FileOutputStream, PrintWriter}
|
|
||||||
|
|
||||||
import com.google.gson.Gson
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author: MachineMuse (Claire Semple)
|
|
||||||
* Created: 9:10 AM, 29/04/13
|
|
||||||
*/
|
|
||||||
object ModelSpecJSONWriter {
|
|
||||||
def writeRegistry(file: String) {
|
|
||||||
val gson = new Gson()
|
|
||||||
import scala.collection.JavaConverters._
|
|
||||||
val registry = ModelRegistry.getInstance()
|
|
||||||
val jsonwrite = gson.toJson(registry)
|
|
||||||
val w = new PrintWriter(new FileOutputStream(new File(file)))
|
|
||||||
w.print(jsonwrite)
|
|
||||||
w.close()
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,84 +0,0 @@
|
||||||
//package net.machinemuse.powersuits.client.render.modelspec;
|
|
||||||
//
|
|
||||||
//import java.util.List;
|
|
||||||
//
|
|
||||||
///**
|
|
||||||
// * Author: MachineMuse (Claire Semple)
|
|
||||||
// * Created: 9:10 AM, 29/04/13
|
|
||||||
// *
|
|
||||||
// * Ported to Java by lehjr on 11/10/16.
|
|
||||||
// */
|
|
||||||
//public class ModelSpecXMLWriter {
|
|
||||||
// private ModelSpecXMLWriter() {
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// private static ModelSpecXMLWriter INSTANCE;
|
|
||||||
// public static ModelSpecXMLWriter getINSTANCE() {
|
|
||||||
// if (INSTANCE == null)
|
|
||||||
// INSTANCE = new ModelSpecXMLWriter();
|
|
||||||
// return INSTANCE;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// public void writeRegistry(final String file) {
|
|
||||||
//// final String s = null;
|
|
||||||
//// final String s2 = "models";
|
|
||||||
//// final Null$ module$ = Null$.MODULE$;
|
|
||||||
//// final TopScope$ module$2 = TopScope$.MODULE$;
|
|
||||||
//// final boolean b = false;
|
|
||||||
//// final NodeBuffer $buf = new NodeBuffer();
|
|
||||||
//// $buf.$amp$plus((Object)new Text("\n "));
|
|
||||||
//// $buf.$amp$plus(ModelRegistry$.MODULE$.apply().withFilter((Function1)new ModelSpecXMLWriter$$anonfun.ModelSpecXMLWriter$$anonfun$1()).map((Function1)new ModelSpecXMLWriter$$anonfun.ModelSpecXMLWriter$$anonfun$2(), Iterable$.MODULE$.canBuildFrom()));
|
|
||||||
//// $buf.$amp$plus((Object)new Text("\n "));
|
|
||||||
//// final Elem xmlwrite = new Elem(s, s2, (MetaData)module$, (NamespaceBinding)module$2, b, (Seq)$buf);
|
|
||||||
//// XML$.MODULE$.save(file, (Node)xmlwrite, XML$.MODULE$.save$default$3(), XML$.MODULE$.save$default$4(), XML$.MODULE$.save$default$5());
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// public String concatList(final List<String> list) {
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// return ModelSpecXMLWriter$.MODULE$.concatList(list);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//// package net.machinemuse.powersuits.client.render.modelspec
|
|
||||||
////
|
|
||||||
////import java.io.{File, FileOutputStream, PrintWriter}
|
|
||||||
////
|
|
||||||
////import com.google.gson.Gson
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//// /**
|
|
||||||
//// * Author: MachineMuse (Claire Semple)
|
|
||||||
//// * Created: 9:10 AM, 29/04/13
|
|
||||||
//// */
|
|
||||||
//// object ModelSpecXMLWriter {
|
|
||||||
//// def writeRegistry(file: String) {
|
|
||||||
//// val xmlwrite =
|
|
||||||
//// <models>
|
|
||||||
//// {for ((modelname, modelspec) <- ModelRegistry.getInstance()) yield
|
|
||||||
//// <model file={modelspec.filename} textures={concatList(modelspec.textures)}>
|
|
||||||
//// {for ((partname, partspec) <- modelspec) yield
|
|
||||||
//// <binding slot={partspec.slot.toString} target={partspec.morph.name}>
|
|
||||||
//// <part defaultcolor={partspec.defaultcolourindex.toString} defaultglow={partspec.defaultglow.toString} polygroup={partspec.partName} name={partspec.displayName}/>
|
|
||||||
//// </binding>}
|
|
||||||
//// </model>}
|
|
||||||
//// </models>
|
|
||||||
////
|
|
||||||
//// scala.xml.XML.save(file, xmlwrite)
|
|
||||||
//// }
|
|
||||||
////
|
|
||||||
//// def concatList(list: Seq[String]): String = list mkString ","
|
|
||||||
//// }
|
|
||||||
//
|
|
||||||
//}
|
|
|
@ -1,32 +0,0 @@
|
||||||
package net.machinemuse.powersuits.client.render.modelspec
|
|
||||||
|
|
||||||
import java.io.{File, FileOutputStream, PrintWriter}
|
|
||||||
|
|
||||||
import com.google.gson.Gson
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author: MachineMuse (Claire Semple)
|
|
||||||
* Created: 9:10 AM, 29/04/13
|
|
||||||
*/
|
|
||||||
object ModelSpecXMLWriter {
|
|
||||||
def writeRegistry(file: String) {
|
|
||||||
println("Writing XML file to " + file)
|
|
||||||
|
|
||||||
|
|
||||||
// val xmlwrite =
|
|
||||||
// <models>
|
|
||||||
// {for ((modelname, modelspec) <- ModelRegistry.getInstance()) yield
|
|
||||||
// <model file={modelspec.filename} textures={concatList(modelspec.textures)}>
|
|
||||||
// {for ((partname, partspec) <- modelspec) yield
|
|
||||||
// <binding slot={partspec.slot.toString} target={partspec.morph.name}>
|
|
||||||
// <part defaultcolor={partspec.defaultcolourindex.toString} defaultglow={partspec.defaultglow.toString} polygroup={partspec.partName} name={partspec.displayName}/>
|
|
||||||
// </binding>}
|
|
||||||
// </model>}
|
|
||||||
// </models>
|
|
||||||
//
|
|
||||||
// scala.xml.XML.save(file, xmlwrite)
|
|
||||||
}
|
|
||||||
|
|
||||||
def concatList(list: Seq[String]): String = list mkString ","
|
|
||||||
}
|
|
|
@ -1,105 +0,0 @@
|
||||||
package net.machinemuse.powersuits.common
|
|
||||||
|
|
||||||
import java.net.URL
|
|
||||||
|
|
||||||
import cpw.mods.fml.client.registry.{ClientRegistry, RenderingRegistry}
|
|
||||||
import cpw.mods.fml.common.FMLCommonHandler
|
|
||||||
import net.machinemuse.general.sound.SoundDictionary
|
|
||||||
import net.machinemuse.numina.network.{MusePacket, MusePacketModeChangeRequest, PacketSender}
|
|
||||||
import net.machinemuse.numina.render.RenderGameOverlayEventHandler
|
|
||||||
import net.machinemuse.powersuits.block.{BlockTinkerTable, TileEntityLuxCapacitor, TileEntityTinkerTable}
|
|
||||||
import net.machinemuse.powersuits.client.render.block.{RenderLuxCapacitorTESR, TinkerTableRenderer}
|
|
||||||
import net.machinemuse.powersuits.client.render.entity.{RenderLuxCapacitorEntity, RenderPlasmaBolt, RenderSpinningBlade}
|
|
||||||
import net.machinemuse.powersuits.client.render.item.ToolRenderer
|
|
||||||
import net.machinemuse.powersuits.client.render.modelspec.ModelSpecXMLReader
|
|
||||||
import net.machinemuse.powersuits.control.{KeybindKeyHandler, KeybindManager}
|
|
||||||
import net.machinemuse.powersuits.entity.{EntityLuxCapacitor, EntityPlasmaBolt, EntitySpinningBlade}
|
|
||||||
import net.machinemuse.powersuits.event.{ClientTickHandler, PlayerLoginHandlerThingy, PlayerUpdateHandler, RenderEventHandler}
|
|
||||||
import net.minecraft.client.Minecraft
|
|
||||||
import net.minecraft.client.entity.EntityClientPlayerMP
|
|
||||||
import net.minecraftforge.client.MinecraftForgeClient
|
|
||||||
import net.minecraftforge.common.MinecraftForge
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Common side of the proxy. Provides functions which
|
|
||||||
* the ClientProxy and ServerProxy will override if the behaviour is different for client and
|
|
||||||
* server, and keeps some common behaviour.
|
|
||||||
*
|
|
||||||
* @author MachineMuse
|
|
||||||
*/
|
|
||||||
trait CommonProxy {
|
|
||||||
def registerEvents() {}
|
|
||||||
|
|
||||||
def registerRenderers() {}
|
|
||||||
|
|
||||||
def registerHandlers() {}
|
|
||||||
|
|
||||||
def postInit() {}
|
|
||||||
|
|
||||||
def sendModeChange(dMode: Int, newMode: String) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class ClientProxy extends CommonProxy {
|
|
||||||
override def registerEvents {
|
|
||||||
MinecraftForge.EVENT_BUS.register(new SoundDictionary)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Register all the custom renderers for this mod.
|
|
||||||
*/
|
|
||||||
override def registerRenderers {
|
|
||||||
MinecraftForgeClient.registerItemRenderer(MPSItems.INSTANCE.powerTool, new ToolRenderer)
|
|
||||||
val tinkTableRenderID: Int = RenderingRegistry.getNextAvailableRenderId
|
|
||||||
val tinkTableRenderer: TinkerTableRenderer = new TinkerTableRenderer(tinkTableRenderID)
|
|
||||||
BlockTinkerTable.setRenderType(tinkTableRenderID)
|
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(classOf[TileEntityTinkerTable], tinkTableRenderer)
|
|
||||||
RenderingRegistry.registerBlockHandler(tinkTableRenderer)
|
|
||||||
val luxCapacitorRenderID: Int = RenderingRegistry.getNextAvailableRenderId
|
|
||||||
val luxCapacitorRenderer: RenderLuxCapacitorTESR = new RenderLuxCapacitorTESR(luxCapacitorRenderID)
|
|
||||||
MPSItems.INSTANCE.luxCapacitor.setRenderType(luxCapacitorRenderID)
|
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(classOf[TileEntityLuxCapacitor], luxCapacitorRenderer)
|
|
||||||
RenderingRegistry.registerBlockHandler(luxCapacitorRenderer)
|
|
||||||
RenderingRegistry.registerEntityRenderingHandler(classOf[EntityPlasmaBolt], new RenderPlasmaBolt)
|
|
||||||
RenderingRegistry.registerEntityRenderingHandler(classOf[EntitySpinningBlade], new RenderSpinningBlade)
|
|
||||||
RenderingRegistry.registerEntityRenderingHandler(classOf[EntityLuxCapacitor], new RenderLuxCapacitorEntity)
|
|
||||||
MinecraftForge.EVENT_BUS.register(new RenderEventHandler)
|
|
||||||
val resource: URL = classOf[ClientProxy].getResource("/assets/powersuits/models/modelspec.xml")
|
|
||||||
ModelSpecXMLReader.getINSTANCE.parseFile(resource)
|
|
||||||
val otherResource: URL = classOf[ClientProxy].getResource("/assets/powersuits/models/armor2.xml")
|
|
||||||
ModelSpecXMLReader.getINSTANCE.parseFile(otherResource)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Register the tick handler (for on-tick behaviour) and packet handler (for
|
|
||||||
* network synchronization and permission stuff).
|
|
||||||
*/
|
|
||||||
override def registerHandlers {
|
|
||||||
FMLCommonHandler.instance.bus.register(new KeybindKeyHandler)
|
|
||||||
MinecraftForge.EVENT_BUS.register(new PlayerUpdateHandler)
|
|
||||||
FMLCommonHandler.instance.bus.register(new ClientTickHandler)
|
|
||||||
// val packetHandler: MusePacketHandler.type = MusePacketHandler
|
|
||||||
}
|
|
||||||
|
|
||||||
override def postInit() {
|
|
||||||
KeybindManager.readInKeybinds()
|
|
||||||
}
|
|
||||||
|
|
||||||
override def sendModeChange(dMode: Int, newMode: String) {
|
|
||||||
val player: EntityClientPlayerMP = Minecraft.getMinecraft.thePlayer
|
|
||||||
RenderGameOverlayEventHandler.updateSwap(Math.signum(dMode).asInstanceOf[Int])
|
|
||||||
val modeChangePacket: MusePacket = new MusePacketModeChangeRequest(player, newMode, player.inventory.currentItem)
|
|
||||||
PacketSender.sendToServer(modeChangePacket)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class ServerProxy extends CommonProxy {
|
|
||||||
override def registerEvents {
|
|
||||||
FMLCommonHandler.instance().bus().register(new PlayerLoginHandlerThingy)
|
|
||||||
}
|
|
||||||
|
|
||||||
override def registerHandlers() {
|
|
||||||
MinecraftForge.EVENT_BUS.register(new PlayerUpdateHandler)
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,375 +0,0 @@
|
||||||
package net.machinemuse.powersuits.common
|
|
||||||
|
|
||||||
import java.io.{File, PrintWriter}
|
|
||||||
import java.nio.file.Files
|
|
||||||
import java.util.{Arrays, Collections, List}
|
|
||||||
|
|
||||||
import com.google.gson.Gson
|
|
||||||
import cpw.mods.fml.common.FMLCommonHandler
|
|
||||||
import cpw.mods.fml.common.registry.GameRegistry
|
|
||||||
import cpw.mods.fml.relauncher.Side
|
|
||||||
import net.machinemuse.api.electricity.IModularItem
|
|
||||||
import net.machinemuse.api.{IPowerModule, ModuleManager}
|
|
||||||
import net.machinemuse.numina.basemod.Numina
|
|
||||||
import net.machinemuse.numina.general.MuseLogger
|
|
||||||
import net.machinemuse.powersuits.powermodule.armor._
|
|
||||||
import net.machinemuse.powersuits.powermodule.energy._
|
|
||||||
import net.machinemuse.powersuits.powermodule.misc._
|
|
||||||
import net.machinemuse.powersuits.powermodule.movement._
|
|
||||||
import net.machinemuse.powersuits.powermodule.tool._
|
|
||||||
import net.machinemuse.powersuits.powermodule.weapon._
|
|
||||||
import net.machinemuse.utils.MuseStringUtils
|
|
||||||
import net.minecraft.creativetab.CreativeTabs
|
|
||||||
import net.minecraft.item.ItemStack
|
|
||||||
import net.minecraft.util.StatCollector
|
|
||||||
import net.minecraftforge.common.config.Configuration
|
|
||||||
import org.lwjgl.input.Keyboard
|
|
||||||
|
|
||||||
import scala.io.Source
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initial attempt at storing all tweakable/configurable values in one class.
|
|
||||||
* This got really messy really fast so it's in the process of being
|
|
||||||
* reworked.
|
|
||||||
*
|
|
||||||
* @author MachineMuse
|
|
||||||
*/
|
|
||||||
object Config {
|
|
||||||
def keybindHUDon: Boolean = config.get("HUD", "Display HUD", true).getBoolean()
|
|
||||||
def keybindHUDx: Double = config.get("HUD", "x position", 8.0).getDouble()
|
|
||||||
def keybindHUDy: Double = config.get("HUD", "y position", 32.0).getDouble()
|
|
||||||
def toggleModuleSpam: Boolean = config.get("HUD", "Chat message when toggling modules", false).getBoolean()
|
|
||||||
|
|
||||||
def getWeightCapacity: Double = config.get(Configuration.CATEGORY_GENERAL, "Weight Limit (grams)", 25000.0).getDouble()
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called in post-init. Extracts recipes if the configuration value is not found.
|
|
||||||
*/
|
|
||||||
def extractRecipes() = {
|
|
||||||
val key = "Auto-extract recipes"
|
|
||||||
if(!config.hasKey(Configuration.CATEGORY_GENERAL, key) || config.get(Configuration.CATEGORY_GENERAL, key, false).getBoolean) {
|
|
||||||
config.get(Configuration.CATEGORY_GENERAL, key, false)
|
|
||||||
var found=false
|
|
||||||
if(ModCompatibility.isThermalExpansionLoaded) {
|
|
||||||
found=true
|
|
||||||
//TE
|
|
||||||
copyRecipe("mps-thermalexpansion.recipes")
|
|
||||||
}
|
|
||||||
if (ModCompatibility.isIndustrialCraftLoaded) {
|
|
||||||
found=true
|
|
||||||
//IC2
|
|
||||||
copyRecipe("mps-ic2.recipes")
|
|
||||||
}
|
|
||||||
if (ModCompatibility.isEnderIOLoaded) {
|
|
||||||
found=true
|
|
||||||
//enderIO
|
|
||||||
copyRecipe("mps-enderio.recipes")
|
|
||||||
}
|
|
||||||
if(!found) {
|
|
||||||
//vanilla
|
|
||||||
copyRecipe("mps-vanilla.recipes")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def copyRecipe(inFile:String): Unit = {
|
|
||||||
val src = classOf[CommonProxy].getClassLoader.getResourceAsStream(inFile)
|
|
||||||
val dest = new File(Numina.configDir.toString + "/machinemuse/recipes/" + inFile)
|
|
||||||
if(!dest.exists()) {
|
|
||||||
Files.copy(src, dest.toPath)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Called in the pre-init phase of initialization, informs Forge that we
|
|
||||||
* want the following blockIDs.
|
|
||||||
*
|
|
||||||
* @param config The Forge configuration object which will handle such
|
|
||||||
* requests.
|
|
||||||
*/
|
|
||||||
def init(config: Configuration) {
|
|
||||||
Config.config = config
|
|
||||||
config.load()
|
|
||||||
config.save()
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The packet channel for this mod. We will only listen for and send packets
|
|
||||||
* on this 'channel'. Max of 16 characters.
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
def getNetworkChannelName: String = {
|
|
||||||
return "powerSuits"
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The default creative tab to add all these items to. This behaviour may
|
|
||||||
* change if more items are added, but for now there are only 5 items and 1
|
|
||||||
* block, so misc is the most appropriate target.
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
def getCreativeTab: CreativeTabs = {
|
|
||||||
return new MPSCreativeTab
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Chance of each item being returned when salvaged.
|
|
||||||
*
|
|
||||||
* @return percent chance, 0.0 to 1.0
|
|
||||||
*/
|
|
||||||
def getSalvageChance: Double = {
|
|
||||||
return config.get(Configuration.CATEGORY_GENERAL, "Salvage Ratio", 0.9).getDouble(0.9)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The maximum amount of armor contribution allowed per armor piece. Total
|
|
||||||
* armor when the full set is worn can never exceed 4 times this amount.
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
def getMaximumArmorPerPiece: Double = {
|
|
||||||
return Math.max(0.0, config.get(Configuration.CATEGORY_GENERAL, "Maximum Armor per Piece", 6.0).getDouble(6.0))
|
|
||||||
}
|
|
||||||
|
|
||||||
def getMaximumFlyingSpeedmps: Double = {
|
|
||||||
return config.get(Configuration.CATEGORY_GENERAL, "Maximum flight speed (in m/s)", 25.0).getDouble(25.0)
|
|
||||||
}
|
|
||||||
|
|
||||||
def useMouseWheel: Boolean = {
|
|
||||||
return config.get(Configuration.CATEGORY_GENERAL, "Use Mousewheel to change modes", true).getBoolean(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
def addModule(module: IPowerModule) {
|
|
||||||
ModuleManager.addModule(module)
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* The power drain for the Applied Energistics2 and ExtraCells2 wireless terminals
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
def appengMultiplier: Double = {
|
|
||||||
return config.get(Configuration.CATEGORY_GENERAL, "Energy per AE", 5.0).getDouble(5.0)
|
|
||||||
}
|
|
||||||
|
|
||||||
def useAdvancedOreScannerMessage: Boolean = {
|
|
||||||
return config.get(Configuration.CATEGORY_GENERAL, "Use Detailed Ore Scanner Message", true).getBoolean(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
def useOldAutoFeeder: Boolean = {
|
|
||||||
return config.get(Configuration.CATEGORY_GENERAL, "Use Old Auto Feeder Method", false).getBoolean(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
def useCheatyLeatherRecipe: Boolean = {
|
|
||||||
return config.get(Configuration.CATEGORY_GENERAL, "Use Cheaty Leather Recipe (Requires Thermal Expansion)", true).getBoolean(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
def useHUDStuff: Boolean = {
|
|
||||||
return config.get(Configuration.CATEGORY_GENERAL, "Use HUD for certain modules (Auto Feeder, Compass, Clock, etc.", true).getBoolean(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
def use24hClock: Boolean = {
|
|
||||||
return config.get(Configuration.CATEGORY_GENERAL, "Use a 24h clock instead of 12h", false).getBoolean(false)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Load all the modules in the config file into memory. Eventually. For now,
|
|
||||||
* they are hardcoded.
|
|
||||||
*/
|
|
||||||
def loadPowerModules() {
|
|
||||||
val ARMORONLY: List[IModularItem] = Arrays.asList[IModularItem](MPSItems.INSTANCE.powerArmorHead.asInstanceOf[IModularItem], MPSItems.INSTANCE.powerArmorTorso.asInstanceOf[IModularItem], MPSItems.INSTANCE.powerArmorLegs.asInstanceOf[IModularItem], MPSItems.INSTANCE.powerArmorFeet.asInstanceOf[IModularItem])
|
|
||||||
val ALLITEMS: List[IModularItem] = Arrays.asList(MPSItems.INSTANCE.powerArmorHead.asInstanceOf[IModularItem], MPSItems.INSTANCE.powerArmorTorso.asInstanceOf[IModularItem], MPSItems.INSTANCE.powerArmorLegs.asInstanceOf[IModularItem], MPSItems.INSTANCE.powerArmorFeet.asInstanceOf[IModularItem], MPSItems.INSTANCE.powerTool.asInstanceOf[IModularItem])
|
|
||||||
val HEADONLY: List[IModularItem] = Collections.singletonList(MPSItems.INSTANCE.powerArmorHead.asInstanceOf[IModularItem])
|
|
||||||
val TORSOONLY: List[IModularItem] = Collections.singletonList(MPSItems.INSTANCE.powerArmorTorso.asInstanceOf[IModularItem])
|
|
||||||
val LEGSONLY: List[IModularItem] = Collections.singletonList(MPSItems.INSTANCE.powerArmorLegs.asInstanceOf[IModularItem])
|
|
||||||
val FEETONLY: List[IModularItem] = Collections.singletonList(MPSItems.INSTANCE.powerArmorFeet.asInstanceOf[IModularItem])
|
|
||||||
val TOOLONLY: List[IModularItem] = Collections.singletonList(MPSItems.INSTANCE.powerTool.asInstanceOf[IModularItem])
|
|
||||||
addModule(new BasicPlatingModule(ARMORONLY))
|
|
||||||
addModule(new DiamondPlatingModule(ARMORONLY))
|
|
||||||
addModule(new EnergyShieldModule(ARMORONLY))
|
|
||||||
addModule(new HeatSinkModule(ARMORONLY))
|
|
||||||
addModule(new AxeModule(TOOLONLY))
|
|
||||||
addModule(new PickaxeModule(TOOLONLY))
|
|
||||||
addModule(new ShovelModule(TOOLONLY))
|
|
||||||
addModule(new ShearsModule(TOOLONLY))
|
|
||||||
addModule(new HoeModule(TOOLONLY))
|
|
||||||
addModule(new LuxCapacitor(TOOLONLY))
|
|
||||||
//addModule(new OmniWrenchModule(TOOLONLY)) // Requires COFH lib/core
|
|
||||||
addModule(new FieldTinkerModule(TOOLONLY))
|
|
||||||
addModule(new MeleeAssistModule(TOOLONLY))
|
|
||||||
addModule(new PlasmaCannonModule(TOOLONLY))
|
|
||||||
addModule(new RailgunModule(TOOLONLY))
|
|
||||||
addModule(new BladeLauncherModule(TOOLONLY))
|
|
||||||
addModule(new BasicBatteryModule(ALLITEMS))
|
|
||||||
addModule(new AdvancedBatteryModule(ALLITEMS))
|
|
||||||
addModule(new EliteBatteryModule(ALLITEMS))
|
|
||||||
addModule(new ParachuteModule(TORSOONLY))
|
|
||||||
addModule(new GliderModule(TORSOONLY))
|
|
||||||
addModule(new JetPackModule(TORSOONLY))
|
|
||||||
addModule(new SprintAssistModule(LEGSONLY))
|
|
||||||
addModule(new JumpAssistModule(LEGSONLY))
|
|
||||||
addModule(new SwimAssistModule(LEGSONLY))
|
|
||||||
addModule(new ClimbAssistModule(LEGSONLY))
|
|
||||||
addModule(new JetBootsModule(FEETONLY))
|
|
||||||
addModule(new ShockAbsorberModule(FEETONLY))
|
|
||||||
addModule(new WaterElectrolyzerModule(HEADONLY))
|
|
||||||
addModule(new NightVisionModule(HEADONLY))
|
|
||||||
addModule(new BinocularsModule(HEADONLY))
|
|
||||||
addModule(new FlightControlModule(HEADONLY))
|
|
||||||
addModule(new InvisibilityModule(TORSOONLY))
|
|
||||||
addModule(new BlinkDriveModule(TOOLONLY))
|
|
||||||
addModule(new DiamondPickUpgradeModule(TOOLONLY))
|
|
||||||
addModule(new AquaAffinityModule(TOOLONLY))
|
|
||||||
addModule(new CoolingSystemModule(TORSOONLY))
|
|
||||||
addModule(new TintModule(TOOLONLY))
|
|
||||||
addModule(new TransparentArmorModule(ARMORONLY))
|
|
||||||
addModule(new CosmeticGlowModule(ARMORONLY))
|
|
||||||
addModule(new InPlaceAssemblerModule(TOOLONLY));
|
|
||||||
addModule(new KineticGeneratorModule(LEGSONLY));
|
|
||||||
addModule(new SolarGeneratorModule(HEADONLY));
|
|
||||||
addModule(new AutoFeederModule(HEADONLY));
|
|
||||||
addModule(new MagnetModule(TORSOONLY));
|
|
||||||
addModule(new OreScannerModule(TOOLONLY));
|
|
||||||
addModule(new LeafBlowerModule(TOOLONLY));
|
|
||||||
addModule(new ThermalGeneratorModule(TORSOONLY));
|
|
||||||
addModule(new MobRepulsorModule(TORSOONLY));
|
|
||||||
addModule(new FlintAndSteelModule(TOOLONLY));
|
|
||||||
addModule(new ClockModule(HEADONLY));
|
|
||||||
addModule(new CompassModule(HEADONLY));
|
|
||||||
addModule(new LightningModule(TOOLONLY));
|
|
||||||
addModule(new WaterTankModule(TORSOONLY));
|
|
||||||
addModule(new DimensionalRiftModule(TOOLONLY));
|
|
||||||
addModule(new AdvancedSolarGenerator(HEADONLY));
|
|
||||||
addModule(new NitrogenCoolingSystem(TORSOONLY));
|
|
||||||
addModule(new MechanicalAssistance(TORSOONLY));
|
|
||||||
//addModule(new CoalGenerator(TORSOONLY)); //doesn't seem to be working
|
|
||||||
}
|
|
||||||
|
|
||||||
def getConfig: Configuration = {
|
|
||||||
return config
|
|
||||||
}
|
|
||||||
|
|
||||||
def doAdditionalInfo(): Boolean = {
|
|
||||||
if (FMLCommonHandler.instance.getEffectiveSide eq Side.CLIENT) {
|
|
||||||
if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
def additionalInfoInstructions: AnyRef = {
|
|
||||||
var message: String = StatCollector.translateToLocal("tooltip.pressShift")
|
|
||||||
message = MuseStringUtils.wrapMultipleFormatTags(message, MuseStringUtils.FormatCodes.Grey, MuseStringUtils.FormatCodes.Italic)
|
|
||||||
return message
|
|
||||||
}
|
|
||||||
|
|
||||||
def useGraphicalMeters: Boolean = {
|
|
||||||
return config.get(Configuration.CATEGORY_GENERAL, "Use Graphical Meters", true).getBoolean(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
def baseMaxHeat: Double = {
|
|
||||||
return config.get(Configuration.CATEGORY_GENERAL, "Base Heat Cap", 50.0).getDouble(50.0)
|
|
||||||
}
|
|
||||||
|
|
||||||
def allowConflictingKeybinds: Boolean = {
|
|
||||||
return config.get(Configuration.CATEGORY_GENERAL, "Allow Conflicting Keybinds", true).getBoolean(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
def useCustomFonts: Boolean = {
|
|
||||||
return config.get("Font", "Use Custom Font Engine", true).getBoolean(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
def fontDetail: Double = {
|
|
||||||
return config.get("Font", "Font Detail Multiplier", 4).getDouble(4)
|
|
||||||
}
|
|
||||||
|
|
||||||
def fontURI: String = {
|
|
||||||
return config.get("Font", "Font URI", Config.RESOURCE_PREFIX + "fonts/cra.ttf").getString
|
|
||||||
}
|
|
||||||
|
|
||||||
def fontName: String = {
|
|
||||||
return config.get("Font", "Native Font Name (Overrides URI)", "").getString
|
|
||||||
}
|
|
||||||
|
|
||||||
def fontAntiAliasing: Boolean = {
|
|
||||||
return config.get("Font", "Font Anti-Aliasing", false).getBoolean(false)
|
|
||||||
}
|
|
||||||
|
|
||||||
def glowMultiplier: Int = {
|
|
||||||
return config.get("Graphics", "Bloom Multiplier", 3).getInt(3)
|
|
||||||
}
|
|
||||||
|
|
||||||
def useShaders: Boolean = {
|
|
||||||
return config.get("Graphics", "Use Pixel/Vertex Shaders", true).getBoolean(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
def setConfigFolderBase(folder: File) {
|
|
||||||
configFolder = new File(folder.getAbsolutePath + "/machinemuse")
|
|
||||||
}
|
|
||||||
|
|
||||||
final val RESOURCE_PREFIX: String = "powersuits:"
|
|
||||||
final val TEXTURE_PREFIX: String = "powersuits:textures/"
|
|
||||||
final val SOUND_PREFIX: String = RESOURCE_PREFIX + "sound/"
|
|
||||||
final val LANG_PREFIX: String = RESOURCE_PREFIX + "lang/"
|
|
||||||
final val SEBK_ARMOR_PATH: String = TEXTURE_PREFIX + "models/sebkarmor.png"
|
|
||||||
final val SEBK_ARMORPANTS_PATH: String = TEXTURE_PREFIX + "models/sebkarmorpants.png"
|
|
||||||
final val TINKERTABLE_TEXTURE_PATH: String = TEXTURE_PREFIX + "models/tinkertable_tx.png"
|
|
||||||
final val ARMOR_TEXTURE_PATH: String = TEXTURE_PREFIX + "models/diffuse.png"
|
|
||||||
final val BLANK_ARMOR_MODEL_PATH: String = TEXTURE_PREFIX + "models/blankarmor.png"
|
|
||||||
final val SEBK_TOOL_TEXTURE: String = TEXTURE_PREFIX + "models/tool.png"
|
|
||||||
final val LIGHTNING_TEXTURE: String = TEXTURE_PREFIX + "gui/lightning-medium.png"
|
|
||||||
final val CITIZENJOE_ARMOR_PATH: String = TEXTURE_PREFIX + "models/joearmor.png"
|
|
||||||
final val CITIZENJOE_ARMORPANTS_PATH: String = TEXTURE_PREFIX + "models/joearmorpants.png"
|
|
||||||
final val GLASS_TEXTURE: String = TEXTURE_PREFIX + "gui/glass.png"
|
|
||||||
var configFolder: File = null
|
|
||||||
private var config: Configuration = null
|
|
||||||
var canUseShaders: Boolean = false
|
|
||||||
|
|
||||||
def addCustomInstallCosts():Unit = {
|
|
||||||
val installCostFile = new File(configFolder, "custominstallcosts.json")
|
|
||||||
val gson = new Gson()
|
|
||||||
if(installCostFile.exists) {
|
|
||||||
val source = Source.fromFile(installCostFile)
|
|
||||||
val string = source.mkString
|
|
||||||
source.close()
|
|
||||||
MuseLogger.logDebug(string)
|
|
||||||
val costs = gson.fromJson[Array[InstallCost]](string, classOf[Array[InstallCost]])
|
|
||||||
costs.foreach { cost=>
|
|
||||||
val moduleName = cost.moduleName
|
|
||||||
val item = GameRegistry.findItem(cost.modId, cost.itemName)
|
|
||||||
if(item != null) {
|
|
||||||
val metadata = if (cost.itemMetadata == null) 0 else cost.itemMetadata.intValue()
|
|
||||||
val quantity = if (cost.itemQuantity == null) 1 else cost.itemQuantity.intValue()
|
|
||||||
val stack = new ItemStack(item, quantity, metadata)
|
|
||||||
if(stack != null) {
|
|
||||||
ModuleManager.addCustomInstallCost(moduleName, stack)
|
|
||||||
} else {
|
|
||||||
MuseLogger.logError("Invalid Itemstack in custom install cost. Module [" + cost.moduleName + "], item [" + cost.itemName + "]")
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
MuseLogger.logError("Invalid Item in custom install cost. Module [" + cost.moduleName + "], item [" + cost.itemName + "]")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
installCostFile.createNewFile()
|
|
||||||
val examplecost = new InstallCost()
|
|
||||||
examplecost.moduleName = "Shock Absorber"
|
|
||||||
examplecost.itemName = "wool"
|
|
||||||
examplecost.modId = "minecraft"
|
|
||||||
examplecost.itemQuantity = 2
|
|
||||||
examplecost.itemMetadata = 0
|
|
||||||
val examplecost2 = new InstallCost()
|
|
||||||
examplecost2.moduleName = "Shock Absorber"
|
|
||||||
examplecost2.itemName = "powerArmorComponent"
|
|
||||||
examplecost2.modId = "powersuits"
|
|
||||||
examplecost2.itemQuantity = 2
|
|
||||||
examplecost2.itemMetadata = 2
|
|
||||||
val output = Array(examplecost, examplecost2)
|
|
||||||
val json = gson.toJson(output)
|
|
||||||
val dest = new PrintWriter(installCostFile)
|
|
||||||
dest.write(json)
|
|
||||||
dest.close()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,73 +0,0 @@
|
||||||
package net.machinemuse.powersuits.common
|
|
||||||
|
|
||||||
import java.io.File
|
|
||||||
|
|
||||||
import cpw.mods.fml.common.event.{FMLInitializationEvent, FMLPostInitializationEvent, FMLPreInitializationEvent}
|
|
||||||
import cpw.mods.fml.common.network.NetworkRegistry
|
|
||||||
import cpw.mods.fml.common.registry.EntityRegistry
|
|
||||||
import cpw.mods.fml.common.{Mod, SidedProxy}
|
|
||||||
import net.machinemuse.powersuits.entity.{EntityLuxCapacitor, EntityPlasmaBolt, EntitySpinningBlade}
|
|
||||||
import net.machinemuse.powersuits.event.{HarvestEventHandler, MovementManager}
|
|
||||||
import net.machinemuse.powersuits.network.packets.MPSPacketList
|
|
||||||
import net.machinemuse.powersuits.powermodule.tool.TerminalHandler
|
|
||||||
import net.minecraftforge.common.MinecraftForge
|
|
||||||
import net.minecraftforge.common.config.Configuration;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Main mod class. This is what Forge loads to get the mod up and running, both
|
|
||||||
* server- and client-side.
|
|
||||||
*
|
|
||||||
* @author MachineMuse
|
|
||||||
*/
|
|
||||||
@Mod(modid = "powersuits", modLanguage = "scala", dependencies = "required-after:numina@[@numina_version@,)")
|
|
||||||
object ModularPowersuits {
|
|
||||||
@SidedProxy(clientSide = "net.machinemuse.powersuits.common.ClientProxy", serverSide = "net.machinemuse.powersuits.common.ServerProxy")
|
|
||||||
var proxy: CommonProxy = null
|
|
||||||
var config: Configuration = null
|
|
||||||
val INSTANCE=this
|
|
||||||
|
|
||||||
@Mod.EventHandler def preInit(event: FMLPreInitializationEvent) {
|
|
||||||
val newConfig: File = new File(event.getModConfigurationDirectory + "/machinemuse/powersuits.cfg")
|
|
||||||
Config.init(new Configuration(newConfig))
|
|
||||||
Config.setConfigFolderBase(event.getModConfigurationDirectory)
|
|
||||||
MinecraftForge.EVENT_BUS.register(new HarvestEventHandler)
|
|
||||||
MinecraftForge.EVENT_BUS.register(new MovementManager)
|
|
||||||
proxy.registerEvents()
|
|
||||||
}
|
|
||||||
|
|
||||||
@Mod.EventHandler def load(event: FMLInitializationEvent) {
|
|
||||||
Config.loadPowerModules()
|
|
||||||
Config.getMaximumArmorPerPiece
|
|
||||||
Config.getMaximumFlyingSpeedmps
|
|
||||||
Config.useMouseWheel
|
|
||||||
Config.useGraphicalMeters
|
|
||||||
Config.getSalvageChance
|
|
||||||
Config.baseMaxHeat
|
|
||||||
Config.allowConflictingKeybinds
|
|
||||||
Config.fontAntiAliasing
|
|
||||||
Config.useCustomFonts
|
|
||||||
Config.glowMultiplier
|
|
||||||
Config.useShaders
|
|
||||||
Config.getWeightCapacity
|
|
||||||
Config.keybindHUDon
|
|
||||||
Config.keybindHUDx
|
|
||||||
Config.toggleModuleSpam
|
|
||||||
EntityRegistry.registerModEntity(classOf[EntityPlasmaBolt], "entityPlasmaBolt", 2477, this, 64, 20, true)
|
|
||||||
EntityRegistry.registerModEntity(classOf[EntitySpinningBlade], "entitySpinningBlade", 2478, this, 64, 20, true)
|
|
||||||
EntityRegistry.registerModEntity(classOf[EntityLuxCapacitor], "entityLuxCapacitor", 2479, this, 64, 20, true)
|
|
||||||
proxy.registerHandlers()
|
|
||||||
proxy.registerRenderers()
|
|
||||||
MPSPacketList.registerPackets()
|
|
||||||
NetworkRegistry.INSTANCE.registerGuiHandler(this, MPSGuiHandler.getInstance())
|
|
||||||
TerminalHandler.registerHandler();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Mod.EventHandler def postInit(event: FMLPostInitializationEvent) {
|
|
||||||
proxy.postInit()
|
|
||||||
ModCompatibility.registerModSpecificModules()
|
|
||||||
Config.extractRecipes()
|
|
||||||
Config.addCustomInstallCosts()
|
|
||||||
Config.getConfig.save()
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,39 +0,0 @@
|
||||||
package net.machinemuse.powersuits.network.packets
|
|
||||||
|
|
||||||
import java.io.DataInputStream
|
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem
|
|
||||||
import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket}
|
|
||||||
import net.machinemuse.utils.MuseItemUtils
|
|
||||||
import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP}
|
|
||||||
import net.minecraft.nbt.NBTTagCompound
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author: MachineMuse (Claire Semple)
|
|
||||||
* Created: 12:28 PM, 5/6/13
|
|
||||||
*/
|
|
||||||
object MusePacketColourInfo extends MusePackager {
|
|
||||||
override def read(d: DataInputStream, p: EntityPlayer) = {
|
|
||||||
val itemSlot = readInt(d)
|
|
||||||
val tagData = readIntArray(d)
|
|
||||||
new MusePacketColourInfo(p, itemSlot, tagData)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class MusePacketColourInfo(player: EntityPlayer, itemSlot: Int, tagData: Array[Int]) extends MusePacket {
|
|
||||||
val packager = MusePacketColourInfo
|
|
||||||
|
|
||||||
def write {
|
|
||||||
writeInt(itemSlot)
|
|
||||||
writeIntArray(tagData)
|
|
||||||
}
|
|
||||||
|
|
||||||
override def handleServer(playerEntity: EntityPlayerMP) {
|
|
||||||
val stack = playerEntity.inventory.getStackInSlot(itemSlot)
|
|
||||||
if (stack != null && stack.getItem.isInstanceOf[IModularItem]) {
|
|
||||||
val renderTag: NBTTagCompound = MuseItemUtils.getMuseRenderTag(stack)
|
|
||||||
renderTag.setIntArray("colours", tagData)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
package net.machinemuse.powersuits.network.packets
|
|
||||||
|
|
||||||
import java.io.DataInputStream
|
|
||||||
|
|
||||||
import net.machinemuse.api.electricity.IModularItem
|
|
||||||
import net.machinemuse.numina.general.MuseLogger
|
|
||||||
import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket}
|
|
||||||
import net.machinemuse.utils.MuseItemUtils
|
|
||||||
import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP}
|
|
||||||
import net.minecraft.nbt.NBTTagCompound
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author: MachineMuse (Claire Semple)
|
|
||||||
* Created: 10:16 AM, 01/05/13
|
|
||||||
*/
|
|
||||||
object MusePacketCosmeticInfo extends MusePackager {
|
|
||||||
override def read(d: DataInputStream, p: EntityPlayer) = {
|
|
||||||
val itemSlot = readInt(d)
|
|
||||||
val tagName = readString(d)
|
|
||||||
val tagData = readNBTTagCompound(d)
|
|
||||||
new MusePacketCosmeticInfo(p, itemSlot, tagName, tagData)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class MusePacketCosmeticInfo(player: EntityPlayer, itemSlot: Int, tagName: String, tagData: NBTTagCompound) extends MusePacket {
|
|
||||||
val packager = MusePacketCosmeticInfo
|
|
||||||
|
|
||||||
def write {
|
|
||||||
writeInt(itemSlot)
|
|
||||||
writeString(tagName)
|
|
||||||
writeNBTTagCompound(tagData)
|
|
||||||
}
|
|
||||||
|
|
||||||
override def handleServer(playerEntity: EntityPlayerMP) {
|
|
||||||
val stack = playerEntity.inventory.getStackInSlot(itemSlot)
|
|
||||||
if (tagName != null && stack != null && stack.getItem.isInstanceOf[IModularItem]) {
|
|
||||||
val itemTag: NBTTagCompound = MuseItemUtils.getMuseItemTag(stack)
|
|
||||||
var renderTag: NBTTagCompound = null
|
|
||||||
if (!itemTag.hasKey("render")) {
|
|
||||||
renderTag = new NBTTagCompound
|
|
||||||
itemTag.setTag("render", renderTag)
|
|
||||||
} else {
|
|
||||||
renderTag = itemTag.getCompoundTag("render")
|
|
||||||
}
|
|
||||||
if (tagData.hasNoTags) {
|
|
||||||
MuseLogger.logDebug("Removing tag " + tagName)
|
|
||||||
renderTag.removeTag(tagName)
|
|
||||||
} else {
|
|
||||||
MuseLogger.logDebug("Adding tag " + tagName + " : " + tagData)
|
|
||||||
renderTag.setTag(tagName, tagData)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,69 +0,0 @@
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
package net.machinemuse.powersuits.network.packets
|
|
||||||
|
|
||||||
import java.io.DataInputStream
|
|
||||||
import java.util.{ArrayList, List}
|
|
||||||
|
|
||||||
import net.machinemuse.api.{IPowerModule, ModuleManager}
|
|
||||||
import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket, PacketSender}
|
|
||||||
import net.machinemuse.utils.{ElectricItemUtils, MuseItemUtils}
|
|
||||||
import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP, InventoryPlayer}
|
|
||||||
import net.minecraft.item.ItemStack
|
|
||||||
import net.minecraft.util.ChatComponentText
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Packet for requesting to purchase an upgrade. Player-to-server. Server decides whether it is a valid upgrade or not and replies with an associated
|
|
||||||
* inventoryrefresh packet.
|
|
||||||
*
|
|
||||||
* Author: MachineMuse (Claire Semple)
|
|
||||||
* Created: 10:16 AM, 01/05/13
|
|
||||||
*/
|
|
||||||
|
|
||||||
object MusePacketInstallModuleRequest extends MusePackager {
|
|
||||||
override def read(d: DataInputStream, p: EntityPlayer) = {
|
|
||||||
val itemSlot = readInt(d)
|
|
||||||
val moduleName = readString(d)
|
|
||||||
new MusePacketInstallModuleRequest(p, itemSlot, moduleName)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class MusePacketInstallModuleRequest(player: EntityPlayer, itemSlot: Int, moduleName: String) extends MusePacket {
|
|
||||||
val packager = MusePacketInstallModuleRequest
|
|
||||||
|
|
||||||
def write {
|
|
||||||
writeInt(itemSlot)
|
|
||||||
writeString(moduleName)
|
|
||||||
}
|
|
||||||
|
|
||||||
override def handleServer(playerEntity: EntityPlayerMP) {
|
|
||||||
val stack = playerEntity.inventory.getStackInSlot(itemSlot)
|
|
||||||
if (moduleName != null) {
|
|
||||||
val inventory: InventoryPlayer = playerEntity.inventory
|
|
||||||
val moduleType: IPowerModule = ModuleManager.getModule(moduleName)
|
|
||||||
if (moduleType == null || !moduleType.isAllowed) {
|
|
||||||
playerEntity.addChatComponentMessage(new ChatComponentText("Server has disallowed this module. Sorry!"))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
val cost: List[ItemStack] = moduleType.getInstallCost
|
|
||||||
if ((!ModuleManager.itemHasModule(stack, moduleName) && MuseItemUtils.hasInInventory(cost, playerEntity.inventory)) || playerEntity.capabilities.isCreativeMode) {
|
|
||||||
ModuleManager.itemAddModule(stack, moduleType)
|
|
||||||
import scala.collection.JavaConversions._
|
|
||||||
for (stackInCost <- cost) {
|
|
||||||
ElectricItemUtils.givePlayerEnergy(playerEntity, ElectricItemUtils.jouleValueOfComponent(stackInCost))
|
|
||||||
}
|
|
||||||
var slotsToUpdate: List[Integer] = new ArrayList[Integer]
|
|
||||||
if (!playerEntity.capabilities.isCreativeMode) {
|
|
||||||
slotsToUpdate = MuseItemUtils.deleteFromInventory(cost, inventory)
|
|
||||||
}
|
|
||||||
slotsToUpdate.add(itemSlot)
|
|
||||||
import scala.collection.JavaConversions._
|
|
||||||
for (slotiter <- slotsToUpdate) {
|
|
||||||
val reply: MusePacket = new MusePacketInventoryRefresh(playerEntity, slotiter, inventory.getStackInSlot(slotiter))
|
|
||||||
PacketSender.sendTo(reply, playerEntity)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,45 +0,0 @@
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
package net.machinemuse.powersuits.network.packets
|
|
||||||
|
|
||||||
import java.io.DataInputStream
|
|
||||||
|
|
||||||
import cpw.mods.fml.relauncher.{Side, SideOnly}
|
|
||||||
import net.machinemuse.general.gui.MuseGui
|
|
||||||
import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket}
|
|
||||||
import net.machinemuse.numina.scala.OptionCast
|
|
||||||
import net.minecraft.client.Minecraft
|
|
||||||
import net.minecraft.client.entity.EntityClientPlayerMP
|
|
||||||
import net.minecraft.entity.player.EntityPlayer
|
|
||||||
import net.minecraft.inventory.IInventory
|
|
||||||
import net.minecraft.item.ItemStack
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author: MachineMuse (Claire Semple)
|
|
||||||
* Created: 12:28 PM, 5/6/13
|
|
||||||
*/
|
|
||||||
object MusePacketInventoryRefresh extends MusePackager {
|
|
||||||
override def read(d: DataInputStream, p: EntityPlayer) = {
|
|
||||||
val itemSlot = readInt(d)
|
|
||||||
val stack = readItemStack(d)
|
|
||||||
new MusePacketInventoryRefresh(p, itemSlot, stack)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class MusePacketInventoryRefresh(player: EntityPlayer, slot: Int, stack: ItemStack) extends MusePacket {
|
|
||||||
val packager = MusePacketInventoryRefresh
|
|
||||||
|
|
||||||
def write {
|
|
||||||
writeInt(slot)
|
|
||||||
writeItemStack(stack)
|
|
||||||
}
|
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
override def handleClient(player: EntityClientPlayerMP) {
|
|
||||||
val inventory: IInventory = player.inventory
|
|
||||||
inventory.setInventorySlotContents(slot, stack)
|
|
||||||
OptionCast[MuseGui](Minecraft.getMinecraft.currentScreen) foreach (s => s.refresh())
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,44 +0,0 @@
|
||||||
package net.machinemuse.powersuits.network.packets
|
|
||||||
|
|
||||||
import java.io.DataInputStream
|
|
||||||
|
|
||||||
import cpw.mods.fml.relauncher.{Side, SideOnly}
|
|
||||||
import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket}
|
|
||||||
import net.machinemuse.powersuits.entity.EntityPlasmaBolt
|
|
||||||
import net.minecraft.client.Minecraft
|
|
||||||
import net.minecraft.client.entity.EntityClientPlayerMP
|
|
||||||
import net.minecraft.entity.player.EntityPlayer
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author: MachineMuse (Claire Semple)
|
|
||||||
* Created: 12:28 PM, 5/6/13
|
|
||||||
*/
|
|
||||||
object MusePacketPlasmaBolt extends MusePackager {
|
|
||||||
override def read(d: DataInputStream, p: EntityPlayer) = {
|
|
||||||
val entityID = readInt(d)
|
|
||||||
val size = readDouble(d)
|
|
||||||
new MusePacketPlasmaBolt(p, entityID, size)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class MusePacketPlasmaBolt(player: EntityPlayer, entityID: Int, size: Double) extends MusePacket {
|
|
||||||
val packager = MusePacketPlasmaBolt
|
|
||||||
|
|
||||||
def write {
|
|
||||||
writeInt(entityID)
|
|
||||||
writeDouble(size)
|
|
||||||
}
|
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
override def handleClient(player: EntityClientPlayerMP) {
|
|
||||||
try {
|
|
||||||
val entity: EntityPlasmaBolt = Minecraft.getMinecraft.theWorld.getEntityByID(entityID).asInstanceOf[EntityPlasmaBolt]
|
|
||||||
entity.size = this.size
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
case e: Exception => {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,39 +0,0 @@
|
||||||
package net.machinemuse.powersuits.network.packets
|
|
||||||
|
|
||||||
import java.io.DataInputStream
|
|
||||||
|
|
||||||
import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket, PacketSender}
|
|
||||||
import net.machinemuse.powersuits.control.PlayerInputMap
|
|
||||||
import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author: MachineMuse (Claire Semple)
|
|
||||||
* Created: 12:28 PM, 5/6/13
|
|
||||||
*/
|
|
||||||
object MusePacketPlayerUpdate extends MusePackager {
|
|
||||||
override def read(d: DataInputStream, p: EntityPlayer) = {
|
|
||||||
val username = readString(d)
|
|
||||||
val inputMap: PlayerInputMap = PlayerInputMap.getInputMapFor(username)
|
|
||||||
inputMap.readFromStream(d)
|
|
||||||
new MusePacketPlayerUpdate(p, inputMap)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class MusePacketPlayerUpdate(player: EntityPlayer, inputMap: PlayerInputMap) extends MusePacket {
|
|
||||||
val packager = MusePacketPlayerUpdate
|
|
||||||
|
|
||||||
def write {
|
|
||||||
writeString(player.getCommandSenderName)
|
|
||||||
inputMap.writeToStream(dataout)
|
|
||||||
}
|
|
||||||
|
|
||||||
override def handleServer(player: EntityPlayerMP) {
|
|
||||||
val updatePacket: MusePacketPlayerUpdate = new MusePacketPlayerUpdate(player, inputMap)
|
|
||||||
player.motionX = inputMap.motionX
|
|
||||||
player.motionY = inputMap.motionY
|
|
||||||
player.motionZ = inputMap.motionZ
|
|
||||||
PacketSender.sendToAllAround(updatePacket, player, 128)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,77 +0,0 @@
|
||||||
package net.machinemuse.powersuits.network.packets
|
|
||||||
|
|
||||||
import java.io.DataInputStream
|
|
||||||
|
|
||||||
import cpw.mods.fml.relauncher.{Side, SideOnly}
|
|
||||||
import net.machinemuse.api.ModuleManager
|
|
||||||
import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket}
|
|
||||||
import net.machinemuse.powersuits.powermodule.{PowerModuleBase, PropertyModifierFlatAdditive, PropertyModifierLinearAdditive}
|
|
||||||
import net.minecraft.client.entity.EntityClientPlayerMP
|
|
||||||
import net.minecraft.entity.player.EntityPlayer
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author: MachineMuse (Claire Semple)
|
|
||||||
* Created: 7:23 PM, 12/05/13
|
|
||||||
*/
|
|
||||||
object MusePacketPropertyModifierConfig extends MusePackager {
|
|
||||||
override def read(d: DataInputStream, p: EntityPlayer) = {
|
|
||||||
new MusePacketPropertyModifierConfig(p, d)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class MusePacketPropertyModifierConfig(player: EntityPlayer, data: DataInputStream) extends MusePacket {
|
|
||||||
val packager = MusePacketPropertyModifierConfig
|
|
||||||
|
|
||||||
override def write {
|
|
||||||
import scala.collection.JavaConverters._
|
|
||||||
writeInt(ModuleManager.getAllModules.size())
|
|
||||||
for (module <- ModuleManager.getAllModules.asScala) {
|
|
||||||
writeString(module.getDataName)
|
|
||||||
writeBoolean(module.isAllowed)
|
|
||||||
writeInt(module.getPropertyModifiers.size())
|
|
||||||
for ((propname, propmodlist) <- module.getPropertyModifiers.asScala) {
|
|
||||||
writeString(propname)
|
|
||||||
writeInt(propmodlist.size)
|
|
||||||
for (propmod <- propmodlist.asScala) {
|
|
||||||
propmod match {
|
|
||||||
case x: PropertyModifierFlatAdditive => writeDouble(x.valueAdded)
|
|
||||||
case x: PropertyModifierLinearAdditive => writeDouble(x.multiplier)
|
|
||||||
case _ => writeDouble(0)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called by the network manager since it does all the packet mapping
|
|
||||||
*
|
|
||||||
* @param player
|
|
||||||
*/
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
override def handleClient(player: EntityClientPlayerMP) {
|
|
||||||
val d = MusePacketPropertyModifierConfig
|
|
||||||
val numModules = d readInt data
|
|
||||||
for (_ <- 0 until numModules) {
|
|
||||||
val moduleName = d readString data
|
|
||||||
val allowed = d readBoolean data
|
|
||||||
val module = ModuleManager.getModule(moduleName)
|
|
||||||
if (module.isInstanceOf[PowerModuleBase]) module.asInstanceOf[PowerModuleBase] setIsAllowed allowed
|
|
||||||
val numProps = d readInt data
|
|
||||||
for (_ <- 0 until numProps) {
|
|
||||||
val propName = d readString data
|
|
||||||
val numModifiers = d readInt data
|
|
||||||
val proplist = module.getPropertyModifiers.get(propName)
|
|
||||||
for (m <- 0 until numModifiers) {
|
|
||||||
proplist.get(m) match {
|
|
||||||
case x: PropertyModifierFlatAdditive => x.valueAdded = d readDouble data
|
|
||||||
case x: PropertyModifierLinearAdditive => x.multiplier = d readDouble data
|
|
||||||
case _ => d readDouble data
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,62 +0,0 @@
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
package net.machinemuse.powersuits.network.packets
|
|
||||||
|
|
||||||
import java.io.DataInputStream
|
|
||||||
import java.util.{HashSet, List}
|
|
||||||
|
|
||||||
import net.machinemuse.api.{IPowerModule, ModuleManager}
|
|
||||||
import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket, PacketSender}
|
|
||||||
import net.machinemuse.powersuits.common.Config
|
|
||||||
import net.machinemuse.utils.MuseItemUtils
|
|
||||||
import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP, InventoryPlayer}
|
|
||||||
import net.minecraft.item.ItemStack
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Packet for requesting to purchase an upgrade. Player-to-server. Server
|
|
||||||
* decides whether it is a valid upgrade or not and replies with an associated
|
|
||||||
* inventoryrefresh packet.
|
|
||||||
*
|
|
||||||
* Author: MachineMuse (Claire Semple)
|
|
||||||
* Created: 12:28 PM, 5/6/13
|
|
||||||
*/
|
|
||||||
object MusePacketSalvageModuleRequest extends MusePackager {
|
|
||||||
override def read(d: DataInputStream, p: EntityPlayer) = {
|
|
||||||
|
|
||||||
val itemSlot = readInt(d)
|
|
||||||
val moduleName = readString(d)
|
|
||||||
new MusePacketSalvageModuleRequest(p, itemSlot, moduleName)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class MusePacketSalvageModuleRequest(player: EntityPlayer, itemSlot: Int, moduleName: String) extends MusePacket {
|
|
||||||
val packager = MusePacketSalvageModuleRequest
|
|
||||||
|
|
||||||
def write {
|
|
||||||
writeInt(itemSlot)
|
|
||||||
writeString(moduleName)
|
|
||||||
}
|
|
||||||
|
|
||||||
override def handleServer(playerEntity: EntityPlayerMP) {
|
|
||||||
if (moduleName != null) {
|
|
||||||
val inventory: InventoryPlayer = playerEntity.inventory
|
|
||||||
val stack = playerEntity.inventory.getStackInSlot(itemSlot)
|
|
||||||
val moduleType: IPowerModule = ModuleManager.getModule(moduleName)
|
|
||||||
val refund: List[ItemStack] = moduleType.getInstallCost
|
|
||||||
if (ModuleManager.itemHasModule(stack, moduleName)) {
|
|
||||||
val slots: java.util.Set[Integer] = new HashSet[Integer]
|
|
||||||
ModuleManager.removeModule(stack, moduleName)
|
|
||||||
import scala.collection.JavaConversions._
|
|
||||||
for (refundItem <- refund) {
|
|
||||||
slots.addAll(MuseItemUtils.giveOrDropItemWithChance(refundItem.copy, playerEntity, Config.getSalvageChance))
|
|
||||||
}
|
|
||||||
slots.add(itemSlot)
|
|
||||||
for (slotiter <- slots) {
|
|
||||||
val reply: MusePacket = new MusePacketInventoryRefresh(player, slotiter, inventory.getStackInSlot(slotiter))
|
|
||||||
PacketSender.sendTo(reply, playerEntity)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,34 +0,0 @@
|
||||||
package net.machinemuse.powersuits.network.packets
|
|
||||||
|
|
||||||
import java.io.DataInputStream
|
|
||||||
|
|
||||||
import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket}
|
|
||||||
import net.machinemuse.utils.MuseItemUtils
|
|
||||||
import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Author: MachineMuse (Claire Semple)
|
|
||||||
* Created: 12:28 PM, 5/6/13
|
|
||||||
*/
|
|
||||||
object MusePacketToggleRequest extends MusePackager {
|
|
||||||
override def read(d: DataInputStream, p: EntityPlayer) = {
|
|
||||||
|
|
||||||
val module = readString(d)
|
|
||||||
val value = readBoolean(d)
|
|
||||||
new MusePacketToggleRequest(p, module, value)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class MusePacketToggleRequest(player: EntityPlayer, module: String, active: Boolean) extends MusePacket {
|
|
||||||
val packager = MusePacketToggleRequest
|
|
||||||
|
|
||||||
def write() {
|
|
||||||
writeString(module)
|
|
||||||
writeBoolean(active)
|
|
||||||
}
|
|
||||||
|
|
||||||
override def handleServer(player: EntityPlayerMP) {
|
|
||||||
MuseItemUtils.toggleModuleForPlayer(player, module, active)
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
package net.machinemuse.powersuits.network.packets
|
|
||||||
|
|
||||||
import java.io.DataInputStream
|
|
||||||
|
|
||||||
import net.machinemuse.api.ModuleManager
|
|
||||||
import net.machinemuse.numina.general.MuseMathUtils
|
|
||||||
import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket}
|
|
||||||
import net.machinemuse.utils.MuseItemUtils
|
|
||||||
import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP}
|
|
||||||
import net.minecraft.nbt.NBTTagCompound
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Packet for requesting to purchase an upgrade. Player-to-server. Server
|
|
||||||
* decides whether it is a valid upgrade or not and <strike>replies with an associated
|
|
||||||
* inventoryrefresh packet</strike>.
|
|
||||||
*
|
|
||||||
* Author: MachineMuse (Claire Semple)
|
|
||||||
* Created: 12:28 PM, 5/6/13
|
|
||||||
*/
|
|
||||||
object MusePacketTweakRequest extends MusePackager {
|
|
||||||
override def read(d: DataInputStream, p: EntityPlayer) = {
|
|
||||||
val itemSlot = readInt(d)
|
|
||||||
val moduleName = readString(d)
|
|
||||||
val tweakName = readString(d)
|
|
||||||
val tweakValue = readDouble(d)
|
|
||||||
new MusePacketTweakRequest(p, itemSlot, moduleName, tweakName, tweakValue)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class MusePacketTweakRequest(player: EntityPlayer, itemSlot: Int, moduleName: String, tweakName: String, tweakValue: Double) extends MusePacket {
|
|
||||||
val packager = MusePacketTweakRequest
|
|
||||||
|
|
||||||
def write {
|
|
||||||
writeInt(itemSlot)
|
|
||||||
writeString(moduleName)
|
|
||||||
writeString(tweakName)
|
|
||||||
writeDouble(tweakValue)
|
|
||||||
}
|
|
||||||
|
|
||||||
override def handleServer(playerEntity: EntityPlayerMP) {
|
|
||||||
if (moduleName != null && tweakName != null) {
|
|
||||||
val stack = playerEntity.inventory.getStackInSlot(itemSlot)
|
|
||||||
val itemTag: NBTTagCompound = MuseItemUtils.getMuseItemTag(stack)
|
|
||||||
if (itemTag != null && ModuleManager.tagHasModule(itemTag, moduleName)) {
|
|
||||||
val moduleTag: NBTTagCompound = itemTag.getCompoundTag(moduleName)
|
|
||||||
moduleTag.setDouble(tweakName, MuseMathUtils.clampDouble(tweakValue, 0, 1))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue