mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-08-10 17:55:44 +00:00
big clicky guys
This commit is contained in:
parent
cd82e6f159
commit
756e51f3e0
@ -1,5 +1,8 @@
|
|||||||
## Changed
|
## Changed
|
||||||
* All RoR panels now have basic item descriptions informing about the screwdriver requirement for configuration
|
* All RoR panels now have basic item descriptions informing about the screwdriver requirement for configuration
|
||||||
|
* EMP grenades now deal 5x damage against anything with powered armor
|
||||||
|
* Decreased base damage to compensate
|
||||||
|
* EMP grenades now destroy machines in a small radius like an EMP missile would
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
* Fixed the grenade crafting handler not checking if a shell/filling combination is even valid, allowing weird combos
|
* Fixed the grenade crafting handler not checking if a shell/filling combination is even valid, allowing weird combos
|
||||||
|
|||||||
@ -1096,6 +1096,7 @@ public class ModBlocks {
|
|||||||
public static Block rbmk_gauge;
|
public static Block rbmk_gauge;
|
||||||
public static Block rbmk_numitron;
|
public static Block rbmk_numitron;
|
||||||
public static Block rbmk_graph;
|
public static Block rbmk_graph;
|
||||||
|
public static Block rbmk_lever;
|
||||||
public static Block rbmk_autoloader;
|
public static Block rbmk_autoloader;
|
||||||
public static Block rbmk_loader;
|
public static Block rbmk_loader;
|
||||||
public static Block rbmk_steam_inlet;
|
public static Block rbmk_steam_inlet;
|
||||||
@ -2118,6 +2119,7 @@ public class ModBlocks {
|
|||||||
rbmk_gauge = new RBMKGauge().setBlockName("rbmk_gauge").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_display");
|
rbmk_gauge = new RBMKGauge().setBlockName("rbmk_gauge").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_display");
|
||||||
rbmk_numitron = new RBMKNumitron().setBlockName("rbmk_numitron").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_display");
|
rbmk_numitron = new RBMKNumitron().setBlockName("rbmk_numitron").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_display");
|
||||||
rbmk_graph = new RBMKGraph().setBlockName("rbmk_graph").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_display");
|
rbmk_graph = new RBMKGraph().setBlockName("rbmk_graph").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_display");
|
||||||
|
rbmk_lever = new RBMKLever().setBlockName("rbmk_lever").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_display");
|
||||||
rbmk_autoloader = new RBMKAutoloader().setBlockName("rbmk_autoloader").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_autoloader");
|
rbmk_autoloader = new RBMKAutoloader().setBlockName("rbmk_autoloader").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_autoloader");
|
||||||
rbmk_loader = new RBMKLoader(Material.iron).setBlockName("rbmk_loader").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_loader");
|
rbmk_loader = new RBMKLoader(Material.iron).setBlockName("rbmk_loader").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_loader");
|
||||||
rbmk_steam_inlet = new RBMKInlet(Material.iron).setBlockName("rbmk_steam_inlet").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_steam_inlet");
|
rbmk_steam_inlet = new RBMKInlet(Material.iron).setBlockName("rbmk_steam_inlet").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_steam_inlet");
|
||||||
@ -3107,6 +3109,7 @@ public class ModBlocks {
|
|||||||
register(rbmk_display_blank);
|
register(rbmk_display_blank);
|
||||||
register(rbmk_display);
|
register(rbmk_display);
|
||||||
register(rbmk_key_pad);
|
register(rbmk_key_pad);
|
||||||
|
register(rbmk_lever);
|
||||||
register(rbmk_gauge);
|
register(rbmk_gauge);
|
||||||
register(rbmk_numitron);
|
register(rbmk_numitron);
|
||||||
register(rbmk_graph);
|
register(rbmk_graph);
|
||||||
|
|||||||
49
src/main/java/com/hbm/blocks/machine/rbmk/RBMKLever.java
Normal file
49
src/main/java/com/hbm/blocks/machine/rbmk/RBMKLever.java
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
package com.hbm.blocks.machine.rbmk;
|
||||||
|
|
||||||
|
import com.hbm.main.MainRegistry;
|
||||||
|
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKLever;
|
||||||
|
|
||||||
|
import api.hbm.block.IToolable;
|
||||||
|
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class RBMKLever extends RBMKMiniPanelBase implements IToolable {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TileEntity createNewTileEntity(World world, int meta) {
|
||||||
|
return new TileEntityRBMKLever();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) {
|
||||||
|
if(tool != ToolType.SCREWDRIVER) return false;
|
||||||
|
if(world.isRemote) FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||||
|
if(world.isRemote) return true;
|
||||||
|
if(player.isSneaking()) return false;
|
||||||
|
|
||||||
|
if(hitX != 0 && hitX != 1 && hitZ != 0 && hitZ != 1 && side != 0 && side != 1) {
|
||||||
|
|
||||||
|
TileEntityRBMKLever tile = (TileEntityRBMKLever) world.getTileEntity(x, y, z);
|
||||||
|
int meta = world.getBlockMetadata(x, y, z);
|
||||||
|
|
||||||
|
int indexHit = 0;
|
||||||
|
|
||||||
|
if(meta == 2 && hitX < 0.5) indexHit = 1;
|
||||||
|
if(meta == 3 && hitX > 0.5) indexHit = 1;
|
||||||
|
if(meta == 4 && hitZ > 0.5) indexHit = 1;
|
||||||
|
if(meta == 5 && hitZ < 0.5) indexHit = 1;
|
||||||
|
|
||||||
|
if(!tile.levers[indexHit].active) return false;
|
||||||
|
tile.levers[indexHit].click();
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
125
src/main/java/com/hbm/inventory/gui/GUIScreenRBMKLever.java
Normal file
125
src/main/java/com/hbm/inventory/gui/GUIScreenRBMKLever.java
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
package com.hbm.inventory.gui;
|
||||||
|
|
||||||
|
import org.lwjgl.input.Keyboard;
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import com.hbm.lib.RefStrings;
|
||||||
|
import com.hbm.packet.PacketDispatcher;
|
||||||
|
import com.hbm.packet.toserver.NBTControlPacket;
|
||||||
|
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKLever;
|
||||||
|
import com.hbm.util.i18n.I18nUtil;
|
||||||
|
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||||
|
import net.minecraft.client.gui.GuiScreen;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
public class GUIScreenRBMKLever extends GuiScreen {
|
||||||
|
|
||||||
|
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/machine/gui_rbmk_lever.png");
|
||||||
|
public TileEntityRBMKLever lever;
|
||||||
|
protected int xSize;
|
||||||
|
protected int ySize;
|
||||||
|
protected int guiLeft;
|
||||||
|
protected int guiTop;
|
||||||
|
|
||||||
|
protected boolean[] active = new boolean[2];
|
||||||
|
protected boolean[] polling = new boolean[2];
|
||||||
|
|
||||||
|
public GUIScreenRBMKLever(TileEntityRBMKLever lever) {
|
||||||
|
this.lever = lever;
|
||||||
|
|
||||||
|
this.xSize = 256;
|
||||||
|
this.ySize = 150;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initGui() {
|
||||||
|
super.initGui();
|
||||||
|
this.guiLeft = (this.width - this.xSize) / 2;
|
||||||
|
this.guiTop = (this.height - this.ySize) / 2;
|
||||||
|
|
||||||
|
Keyboard.enableRepeatEvents(true);
|
||||||
|
|
||||||
|
int oX = 4;
|
||||||
|
int oY = 4;
|
||||||
|
|
||||||
|
for(int i = 0; i < 2; i++) {
|
||||||
|
|
||||||
|
active[i] = lever.levers[i].active;
|
||||||
|
polling[i] = lever.levers[i].polling;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||||
|
this.drawDefaultBackground();
|
||||||
|
this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY);
|
||||||
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
|
this.drawGuiContainerForegroundLayer(mouseX, mouseY);
|
||||||
|
GL11.glEnable(GL11.GL_LIGHTING);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void drawGuiContainerForegroundLayer(int x, int y) {
|
||||||
|
String name = I18nUtil.resolveKey("container.rbmkLever");
|
||||||
|
this.fontRendererObj.drawString(name, this.guiLeft + this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, this.guiTop + 6, 4210752);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) {
|
||||||
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
|
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||||
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||||
|
|
||||||
|
for(int i = 0; i < 2; i++) {
|
||||||
|
if(this.active[i]) drawTexturedModalRect(guiLeft + 111, guiTop + i * 54 + 54, 18, 150, 16, 16);
|
||||||
|
if(this.polling[i]) drawTexturedModalRect(guiLeft + 128, guiTop + i * 54 + 53, 0, 150, 18, 18);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 0; i < 2; i++) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void mouseClicked(int x, int y, int b) {
|
||||||
|
super.mouseClicked(x, y, b);
|
||||||
|
|
||||||
|
for(int i = 0; i < 2; i++) {
|
||||||
|
if(guiLeft + 111 <= x && guiLeft + 111 + 16 > x && guiTop + i * 54 + 54 < y && guiTop + i * 54 + 54 + 16 >= y) {
|
||||||
|
this.active[i] = !this.active[i];
|
||||||
|
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 0.5F + (this.active[i] ? 0.25F : 0F)));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(guiLeft + 128 <= x && guiLeft + 128 + 18 > x && guiTop + i * 54 + 53 < y && guiTop + i * 54 + 53 + 18 >= y) {
|
||||||
|
this.polling[i] = !this.polling[i];
|
||||||
|
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 0.5F + (this.polling[i] ? 0.25F : 0F)));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(guiLeft + 209 <= x && guiLeft + 209 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) {
|
||||||
|
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||||
|
NBTTagCompound data = new NBTTagCompound();
|
||||||
|
byte active = 0;
|
||||||
|
byte polling = 0;
|
||||||
|
for(int i = 0; i < 2; i++) {
|
||||||
|
if(this.active[i]) active |= 1 << i;
|
||||||
|
if(this.polling[i]) polling |= 1 << i;
|
||||||
|
}
|
||||||
|
data.setByte("active", active);
|
||||||
|
data.setByte("polling", polling);
|
||||||
|
|
||||||
|
for(int i = 0; i < 2; i++) {
|
||||||
|
/*data.setString("label" + i, this.label[i].getText());
|
||||||
|
data.setString("rtty" + i, this.rtty[i].getText());
|
||||||
|
data.setString("cmd" + i, this.cmd[i].getText());*/
|
||||||
|
}
|
||||||
|
PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, lever.xCoord, lever.yCoord, lever.zCoord));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public void onGuiClosed() { Keyboard.enableRepeatEvents(false); }
|
||||||
|
@Override public boolean doesGuiPauseGame() { return false; }
|
||||||
|
}
|
||||||
@ -13,6 +13,7 @@ import com.hbm.entity.grenade.EntityGrenadeUniversal;
|
|||||||
import com.hbm.entity.logic.EntityNukeExplosionMK3;
|
import com.hbm.entity.logic.EntityNukeExplosionMK3;
|
||||||
import com.hbm.entity.projectile.EntityBulletBaseMK4;
|
import com.hbm.entity.projectile.EntityBulletBaseMK4;
|
||||||
import com.hbm.entity.projectile.EntityBulletBeamBase;
|
import com.hbm.entity.projectile.EntityBulletBeamBase;
|
||||||
|
import com.hbm.explosion.ExplosionNukeGeneric;
|
||||||
import com.hbm.explosion.vanillant.ExplosionVNT;
|
import com.hbm.explosion.vanillant.ExplosionVNT;
|
||||||
import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard;
|
import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard;
|
||||||
import com.hbm.explosion.vanillant.standard.BlockMutatorFire;
|
import com.hbm.explosion.vanillant.standard.BlockMutatorFire;
|
||||||
@ -168,7 +169,8 @@ public class ItemGrenadeFilling extends ItemEnumMulti {
|
|||||||
};
|
};
|
||||||
|
|
||||||
public static Consumer<EntityGrenadeUniversal> EXPLODE_EMP = (grenade) -> {
|
public static Consumer<EntityGrenadeUniversal> EXPLODE_EMP = (grenade) -> {
|
||||||
explodeStandardEnergy(grenade, 30F, 3F, DamageClass.ELECTRIC, 0.5F, 0.5F, 1F, 3F);
|
explodeStandardEnergy(grenade, 15F, 3F, DamageClass.ELECTRIC, 0.5F, 0.5F, 1F, 3F);
|
||||||
|
ExplosionNukeGeneric.empBlast(grenade.worldObj, (int) Math.floor(grenade.posX), (int) Math.floor(grenade.posY), (int) Math.floor(grenade.posZ), 5);
|
||||||
};
|
};
|
||||||
|
|
||||||
public static Consumer<EntityGrenadeUniversal> EXPLODE_PLASMA = (grenade) -> {
|
public static Consumer<EntityGrenadeUniversal> EXPLODE_PLASMA = (grenade) -> {
|
||||||
|
|||||||
@ -415,6 +415,7 @@ public class ClientProxy extends ServerProxy {
|
|||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKGauge.class, new RenderRBMKGauge());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKGauge.class, new RenderRBMKGauge());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKNumitron.class, new RenderRBMKNumitron());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKNumitron.class, new RenderRBMKNumitron());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKGraph.class, new RenderRBMKGraph());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKGraph.class, new RenderRBMKGraph());
|
||||||
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKLever.class, new RenderRBMKLever());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRod.class, new RenderRBMKFuelChannel());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRod.class, new RenderRBMKFuelChannel());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRodReaSim.class, new RenderRBMKFuelChannel());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRodReaSim.class, new RenderRBMKFuelChannel());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKAutoloader.class, new RenderRBMKAutoloader());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKAutoloader.class, new RenderRBMKAutoloader());
|
||||||
|
|||||||
@ -1643,6 +1643,7 @@ public class ResourceManager {
|
|||||||
public static final HFRWavefrontObjectVBO rbmk_button = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/rbmk/button.obj")).asVBO();
|
public static final HFRWavefrontObjectVBO rbmk_button = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/rbmk/button.obj")).asVBO();
|
||||||
public static final HFRWavefrontObjectVBO rbmk_gauge = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/rbmk/gauge.obj")).asVBO();
|
public static final HFRWavefrontObjectVBO rbmk_gauge = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/rbmk/gauge.obj")).asVBO();
|
||||||
public static final HFRWavefrontObjectVBO rbmk_numitron = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/rbmk/numitron.obj")).asVBO();
|
public static final HFRWavefrontObjectVBO rbmk_numitron = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/rbmk/numitron.obj")).asVBO();
|
||||||
|
public static final HFRWavefrontObjectVBO rbmk_lever = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/rbmk/lever.obj")).asVBO();
|
||||||
public static final HFRWavefrontObject rbmk_debris = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/rbmk/debris.obj")).noSmooth();
|
public static final HFRWavefrontObject rbmk_debris = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/rbmk/debris.obj")).noSmooth();
|
||||||
public static final ResourceLocation rbmk_crane_console_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crane_console.png");
|
public static final ResourceLocation rbmk_crane_console_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crane_console.png");
|
||||||
public static final ResourceLocation rbmk_crane_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/rbmk_crane.png");
|
public static final ResourceLocation rbmk_crane_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/rbmk_crane.png");
|
||||||
@ -1652,6 +1653,7 @@ public class ResourceManager {
|
|||||||
public static final ResourceLocation rbmk_gauge_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/gauge.png");
|
public static final ResourceLocation rbmk_gauge_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/gauge.png");
|
||||||
public static final ResourceLocation rbmk_numitron_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/numitron.png");
|
public static final ResourceLocation rbmk_numitron_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/numitron.png");
|
||||||
public static final ResourceLocation rbmk_numitron_lights_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/numitron_lights.png");
|
public static final ResourceLocation rbmk_numitron_lights_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/numitron_lights.png");
|
||||||
|
public static final ResourceLocation rbmk_lever_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/lever.png");
|
||||||
public static final HFRWavefrontObject hev_battery = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/battery.obj")).noSmooth();
|
public static final HFRWavefrontObject hev_battery = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/battery.obj")).noSmooth();
|
||||||
public static final HFRWavefrontObject anvil = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/anvil.obj")).noSmooth();
|
public static final HFRWavefrontObject anvil = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/anvil.obj")).noSmooth();
|
||||||
public static final HFRWavefrontObject crystal_power = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/crystals_power.obj")).noSmooth();
|
public static final HFRWavefrontObject crystal_power = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/crystals_power.obj")).noSmooth();
|
||||||
|
|||||||
73
src/main/java/com/hbm/render/tileentity/RenderRBMKLever.java
Normal file
73
src/main/java/com/hbm/render/tileentity/RenderRBMKLever.java
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
package com.hbm.render.tileentity;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import com.hbm.main.ResourceManager;
|
||||||
|
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKLever;
|
||||||
|
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKLever.LeverUnit;
|
||||||
|
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.client.gui.FontRenderer;
|
||||||
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
|
||||||
|
public class RenderRBMKLever extends TileEntitySpecialRenderer {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) {
|
||||||
|
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated(x + 0.5, y, z + 0.5);
|
||||||
|
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||||
|
GL11.glEnable(GL11.GL_LIGHTING);
|
||||||
|
|
||||||
|
switch(te.getBlockMetadata()) {
|
||||||
|
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||||
|
case 4: GL11.glRotatef(180, 0F, 1F, 0F); break;
|
||||||
|
case 3: GL11.glRotatef(270, 0F, 1F, 0F); break;
|
||||||
|
case 5: GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||||
|
}
|
||||||
|
|
||||||
|
TileEntityRBMKLever keypad = (TileEntityRBMKLever) te;
|
||||||
|
|
||||||
|
for(int i = 0; i < 2; i++) {
|
||||||
|
LeverUnit key = keypad.levers[i];
|
||||||
|
if(!key.active) continue;
|
||||||
|
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated(0.25, 0, i * -0.5 + 0.25);
|
||||||
|
|
||||||
|
GL11.glColor3f(1F, 1F, 1F);
|
||||||
|
this.bindTexture(ResourceManager.rbmk_lever_tex);
|
||||||
|
ResourceManager.rbmk_lever.renderPart("Base");
|
||||||
|
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
|
GL11.glTranslated(0.125, 0.5625, 0);
|
||||||
|
GL11.glRotated(-180 * i, 0, 0, 1);
|
||||||
|
GL11.glTranslated(-0.125, -0.5625, 0);
|
||||||
|
ResourceManager.rbmk_lever.renderPart("Lever");
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
FontRenderer font = Minecraft.getMinecraft().fontRenderer;
|
||||||
|
int height = font.FONT_HEIGHT;
|
||||||
|
if(key.label != null && !key.label.isEmpty()) {
|
||||||
|
|
||||||
|
GL11.glTranslated(0.01, 0.3125, 0);
|
||||||
|
int width = font.getStringWidth(key.label);
|
||||||
|
float f3 = Math.min(0.0125F, 0.4F / Math.max(width, 1));
|
||||||
|
GL11.glScalef(f3, -f3, f3);
|
||||||
|
GL11.glNormal3f(0.0F, 0.0F, -1.0F);
|
||||||
|
GL11.glRotatef(90, 0, 1, 0);
|
||||||
|
|
||||||
|
RenderArcFurnace.fullbright(true);
|
||||||
|
font.drawString(key.label, - width / 2, - height / 2, 0x00ff00);
|
||||||
|
RenderArcFurnace.fullbright(false);
|
||||||
|
}
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -407,6 +407,7 @@ public class TileMappings {
|
|||||||
put(TileEntityRBMKGauge.class, "tileentity_rbmk_gauge");
|
put(TileEntityRBMKGauge.class, "tileentity_rbmk_gauge");
|
||||||
put(TileEntityRBMKNumitron.class, "tileentity_rbmk_numitron");
|
put(TileEntityRBMKNumitron.class, "tileentity_rbmk_numitron");
|
||||||
put(TileEntityRBMKGraph.class, "tileentity_rbmk_graph");
|
put(TileEntityRBMKGraph.class, "tileentity_rbmk_graph");
|
||||||
|
put(TileEntityRBMKLever.class, "tileentity_rbmk_lever");
|
||||||
put(TileEntityRBMKInlet.class, "tileentity_rbmk_inlet");
|
put(TileEntityRBMKInlet.class, "tileentity_rbmk_inlet");
|
||||||
put(TileEntityRBMKOutlet.class, "tileentity_rbmk_outlet");
|
put(TileEntityRBMKOutlet.class, "tileentity_rbmk_outlet");
|
||||||
put(TileEntityRBMKAutoloader.class, "tileentity_rbmk_autoloader");
|
put(TileEntityRBMKAutoloader.class, "tileentity_rbmk_autoloader");
|
||||||
|
|||||||
@ -209,14 +209,14 @@ public class TileEntityRBMKControlManual extends TileEntityRBMKControl implement
|
|||||||
|
|
||||||
if((PREFIX_FUNCTION + "setrods").equals(name) && params.length > 0) {
|
if((PREFIX_FUNCTION + "setrods").equals(name) && params.length > 0) {
|
||||||
int percent = IRORInteractive.parseInt(params[0], 0, 100);
|
int percent = IRORInteractive.parseInt(params[0], 0, 100);
|
||||||
this.targetLevel = percent / 100D;
|
this.setTarget(percent / 100D);
|
||||||
this.markDirty();
|
this.markDirty();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if((PREFIX_FUNCTION + "extendrods").equals(name) && params.length > 0) {
|
if((PREFIX_FUNCTION + "extendrods").equals(name) && params.length > 0) {
|
||||||
int percent = IRORInteractive.parseInt(params[0], -100, 100);
|
int percent = IRORInteractive.parseInt(params[0], -100, 100);
|
||||||
this.targetLevel = MathHelper.clamp_double(this.targetLevel + percent / 100D, 0D, 1D);
|
this.setTarget(MathHelper.clamp_double(this.targetLevel + percent / 100D, 0D, 1D));
|
||||||
this.markDirty();
|
this.markDirty();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,187 @@
|
|||||||
|
package com.hbm.tileentity.machine.rbmk;
|
||||||
|
|
||||||
|
import com.hbm.interfaces.IControlReceiver;
|
||||||
|
import com.hbm.inventory.gui.GUIScreenRBMKLever;
|
||||||
|
import com.hbm.tileentity.IGUIProvider;
|
||||||
|
import com.hbm.tileentity.TileEntityLoadedBase;
|
||||||
|
import com.hbm.tileentity.network.RTTYSystem;
|
||||||
|
import com.hbm.util.BufferUtil;
|
||||||
|
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.inventory.Container;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class TileEntityRBMKLever extends TileEntityLoadedBase implements IGUIProvider, IControlReceiver {
|
||||||
|
|
||||||
|
/* __________
|
||||||
|
* / /|
|
||||||
|
* /________ / |
|
||||||
|
* | __ __ | |
|
||||||
|
* ||/\| |/\|| |
|
||||||
|
* ||--| |--|| |
|
||||||
|
* ||__| |__|| /
|
||||||
|
* |_________|/
|
||||||
|
*/
|
||||||
|
|
||||||
|
public LeverUnit[] levers = new LeverUnit[2];
|
||||||
|
|
||||||
|
public TileEntityRBMKLever() {
|
||||||
|
for(int i = 0; i < 2; i++) this.levers[i] = new LeverUnit(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateEntity() {
|
||||||
|
|
||||||
|
if(!worldObj.isRemote) {
|
||||||
|
|
||||||
|
for(int i = 0; i < 2; i++) this.levers[i].update();
|
||||||
|
|
||||||
|
this.networkPackNT(50);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void serialize(ByteBuf buf) {
|
||||||
|
super.serialize(buf);
|
||||||
|
for(int i = 0; i < 2; i++) this.levers[i].serialize(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deserialize(ByteBuf buf) {
|
||||||
|
super.deserialize(buf);
|
||||||
|
for(int i = 0; i < 2; i++) this.levers[i].deserialize(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void readFromNBT(NBTTagCompound nbt) {
|
||||||
|
super.readFromNBT(nbt);
|
||||||
|
|
||||||
|
for(int i = 0; i < 2; i++) this.levers[i].readFromNBT(nbt, i);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeToNBT(NBTTagCompound nbt) {
|
||||||
|
super.writeToNBT(nbt);
|
||||||
|
|
||||||
|
for(int i = 0; i < 2; i++) this.levers[i].writeToNBT(nbt, i);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class LeverUnit {
|
||||||
|
|
||||||
|
/** If the output should be per tick, allows the lever to lock in place */
|
||||||
|
public boolean polling;
|
||||||
|
/** If the lever is flipped, assuming polling is enabled */
|
||||||
|
public boolean isFlipped;
|
||||||
|
/** Label on the lever as rendered on the panel */
|
||||||
|
public String label = "";
|
||||||
|
/** What channel to send the command over */
|
||||||
|
public String rtty = "";
|
||||||
|
/** What to send when pressed */
|
||||||
|
public String command = "";
|
||||||
|
/** Whether this lever is enabled and can be pressed */
|
||||||
|
public boolean active;
|
||||||
|
/** For non-polling levers, the time until the lever returns */
|
||||||
|
public int holdTimer;
|
||||||
|
|
||||||
|
public LeverUnit(int initialIndex) {
|
||||||
|
label = "Lever " + (initialIndex + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void click() {
|
||||||
|
if(!active) return;
|
||||||
|
|
||||||
|
if(!polling) {
|
||||||
|
if(canSend()) RTTYSystem.broadcast(worldObj, rtty, command);
|
||||||
|
this.isFlipped = true;
|
||||||
|
this.holdTimer = 10;
|
||||||
|
} else {
|
||||||
|
this.isFlipped = !this.isFlipped;
|
||||||
|
TileEntityRBMKLever.this.markDirty();
|
||||||
|
}
|
||||||
|
|
||||||
|
worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "random.click", 1F, this.isFlipped ? 1F : 0.75F);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void update() {
|
||||||
|
if(!active) return;
|
||||||
|
|
||||||
|
if(polling && isFlipped) {
|
||||||
|
if(canSend()) RTTYSystem.broadcast(worldObj, rtty, command);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!polling && isFlipped) {
|
||||||
|
if(this.holdTimer-- <= 0) {
|
||||||
|
this.isFlipped = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean canSend() {
|
||||||
|
return rtty != null && !rtty.isEmpty() && command != null && !command.isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void serialize(ByteBuf buf) {
|
||||||
|
buf.writeBoolean(active);
|
||||||
|
buf.writeBoolean(polling);
|
||||||
|
buf.writeBoolean(isFlipped);
|
||||||
|
BufferUtil.writeString(buf, label);
|
||||||
|
BufferUtil.writeString(buf, rtty);
|
||||||
|
BufferUtil.writeString(buf, command);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deserialize(ByteBuf buf) {
|
||||||
|
active = buf.readBoolean();
|
||||||
|
polling = buf.readBoolean();
|
||||||
|
isFlipped = buf.readBoolean();
|
||||||
|
label = BufferUtil.readString(buf);
|
||||||
|
rtty = BufferUtil.readString(buf);
|
||||||
|
command = BufferUtil.readString(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void readFromNBT(NBTTagCompound nbt, int index) {
|
||||||
|
this.active = nbt.getBoolean("active" + index);
|
||||||
|
this.polling = nbt.getBoolean("polling" + index);
|
||||||
|
this.isFlipped = nbt.getBoolean("isFlipped" + index);
|
||||||
|
this.label = nbt.getString("label" + index);
|
||||||
|
this.rtty = nbt.getString("rtty" + index);
|
||||||
|
this.command = nbt.getString("command" + index);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void writeToNBT(NBTTagCompound nbt, int index) {
|
||||||
|
nbt.setBoolean("active" + index, active);
|
||||||
|
nbt.setBoolean("polling" + index, polling);
|
||||||
|
nbt.setBoolean("isFlipped" + index, isFlipped);
|
||||||
|
nbt.setString("label" + index, label);
|
||||||
|
nbt.setString("rtty" + index, rtty);
|
||||||
|
nbt.setString("command" + index, command);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return null; }
|
||||||
|
@Override public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIScreenRBMKLever(this); }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasPermission(EntityPlayer player) {
|
||||||
|
return player.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 15 * 15;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void receiveControl(NBTTagCompound data) {
|
||||||
|
|
||||||
|
int active = data.getByte("active");
|
||||||
|
int polling = data.getByte("polling");
|
||||||
|
for(int i = 0; i < 2; i++) {
|
||||||
|
this.levers[i].active = (active & (1 << i)) != 0;
|
||||||
|
this.levers[i].polling = (polling & (1 << i)) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 0; i < 2; i++) {
|
||||||
|
LeverUnit lever = this.levers[i];
|
||||||
|
lever.label = data.getString("label" + i);
|
||||||
|
lever.rtty = data.getString("rtty" + i);
|
||||||
|
lever.command = data.getString("cmd" + i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -18,6 +18,7 @@ import com.google.gson.JsonObject;
|
|||||||
import com.google.gson.stream.JsonWriter;
|
import com.google.gson.stream.JsonWriter;
|
||||||
import com.hbm.entity.mob.EntityCreeperNuclear;
|
import com.hbm.entity.mob.EntityCreeperNuclear;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
|
import com.hbm.items.armor.ArmorFSBPowered;
|
||||||
import com.hbm.main.MainRegistry;
|
import com.hbm.main.MainRegistry;
|
||||||
import com.hbm.util.Tuple.Quartet;
|
import com.hbm.util.Tuple.Quartet;
|
||||||
import com.hbm.util.i18n.I18nUtil;
|
import com.hbm.util.i18n.I18nUtil;
|
||||||
@ -446,10 +447,18 @@ public class DamageResistanceHandler {
|
|||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onEntityDamaged(LivingHurtEvent event) {
|
public void onEntityDamaged(LivingHurtEvent event) {
|
||||||
|
|
||||||
event.ammount = calculateDamage(event.entityLiving, event.source, event.ammount, currentPDT, currentPDR);
|
DamageSource source = event.source;
|
||||||
|
if(source.damageType.toLowerCase(Locale.US).equals(DamageClass.ELECTRIC.name().toLowerCase(Locale.US))) {
|
||||||
|
ItemStack chest = event.entityLiving.getEquipmentInSlot(3);
|
||||||
|
if(chest != null && chest.getItem() instanceof ArmorFSBPowered) {
|
||||||
|
event.ammount *= 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
event.ammount = calculateDamage(event.entityLiving, source, event.ammount, currentPDT, currentPDR);
|
||||||
if(event.entityLiving instanceof IResistanceProvider) {
|
if(event.entityLiving instanceof IResistanceProvider) {
|
||||||
IResistanceProvider irp = (IResistanceProvider) event.entityLiving;
|
IResistanceProvider irp = (IResistanceProvider) event.entityLiving;
|
||||||
irp.onDamageDealt(event.source, event.ammount);
|
irp.onDamageDealt(source, event.ammount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
647
src/main/resources/assets/hbm/models/rbmk/lever.obj
Normal file
647
src/main/resources/assets/hbm/models/rbmk/lever.obj
Normal file
@ -0,0 +1,647 @@
|
|||||||
|
# Blender v2.79 (sub 0) OBJ File: ''
|
||||||
|
# www.blender.org
|
||||||
|
o Lever
|
||||||
|
v 0.093750 0.812500 -0.062500
|
||||||
|
v 0.093750 0.500000 -0.062500
|
||||||
|
v 0.156250 0.812500 -0.062500
|
||||||
|
v 0.156250 0.500000 -0.062500
|
||||||
|
v 0.093750 0.500000 -0.125000
|
||||||
|
v 0.093750 0.875000 -0.125000
|
||||||
|
v 0.156250 0.500000 -0.125000
|
||||||
|
v 0.156250 0.875000 -0.125000
|
||||||
|
v 0.093750 0.875000 0.125000
|
||||||
|
v 0.093750 0.500000 0.125000
|
||||||
|
v 0.156250 0.875000 0.125000
|
||||||
|
v 0.156250 0.500000 0.125000
|
||||||
|
v 0.093750 0.500000 0.062500
|
||||||
|
v 0.093750 0.812500 0.062500
|
||||||
|
v 0.156250 0.500000 0.062500
|
||||||
|
v 0.156250 0.812500 0.062500
|
||||||
|
v 0.093750 0.875000 0.031250
|
||||||
|
v 0.156250 0.875000 0.031250
|
||||||
|
v 0.093750 0.875000 -0.031250
|
||||||
|
v 0.156250 0.875000 -0.031250
|
||||||
|
v 0.093750 1.062500 0.031250
|
||||||
|
v 0.156250 1.062500 0.031250
|
||||||
|
v 0.093750 1.062500 -0.031250
|
||||||
|
v 0.156250 1.062500 -0.031250
|
||||||
|
v 0.093750 0.593750 -0.156250
|
||||||
|
v 0.093750 0.531250 -0.156250
|
||||||
|
v 0.156250 0.593750 -0.156250
|
||||||
|
v 0.156250 0.531250 -0.156250
|
||||||
|
v 0.093750 0.531250 -0.187500
|
||||||
|
v 0.093750 0.593750 -0.187500
|
||||||
|
v 0.156250 0.531250 -0.187500
|
||||||
|
v 0.156250 0.593750 -0.187500
|
||||||
|
v 0.093750 0.593750 0.187500
|
||||||
|
v 0.093750 0.531250 0.187500
|
||||||
|
v 0.156250 0.593750 0.187500
|
||||||
|
v 0.156250 0.531250 0.187500
|
||||||
|
v 0.093750 0.531250 0.156250
|
||||||
|
v 0.093750 0.593750 0.156250
|
||||||
|
v 0.156250 0.531250 0.156250
|
||||||
|
v 0.156250 0.593750 0.156250
|
||||||
|
vt 0.600000 0.066667
|
||||||
|
vt 0.550000 0.400000
|
||||||
|
vt 0.550000 0.066667
|
||||||
|
vt 0.700000 0.466667
|
||||||
|
vt 0.650000 0.066667
|
||||||
|
vt 0.700000 0.066667
|
||||||
|
vt 0.500000 0.400000
|
||||||
|
vt 0.650000 0.466667
|
||||||
|
vt 0.450000 0.466667
|
||||||
|
vt 0.450000 0.066667
|
||||||
|
vt 0.500000 0.066667
|
||||||
|
vt 0.600000 0.000000
|
||||||
|
vt 0.600000 0.400000
|
||||||
|
vt 0.650000 0.466667
|
||||||
|
vt 0.450000 0.066667
|
||||||
|
vt 0.400000 0.466667
|
||||||
|
vt 0.400000 0.066667
|
||||||
|
vt 0.550000 0.400000
|
||||||
|
vt 0.500000 0.066667
|
||||||
|
vt 0.550000 0.066667
|
||||||
|
vt 0.500000 0.400000
|
||||||
|
vt 0.600000 0.333333
|
||||||
|
vt 0.650000 0.066667
|
||||||
|
vt 0.600000 0.400000
|
||||||
|
vt 0.600000 0.066667
|
||||||
|
vt 0.450000 0.000000
|
||||||
|
vt 0.450000 0.466667
|
||||||
|
vt 0.650000 0.533333
|
||||||
|
vt 0.900000 0.200000
|
||||||
|
vt 0.850000 0.000000
|
||||||
|
vt 0.900000 0.000000
|
||||||
|
vt 0.850000 0.200000
|
||||||
|
vt 0.800000 0.000000
|
||||||
|
vt 0.750000 0.200000
|
||||||
|
vt 0.700000 0.000000
|
||||||
|
vt 0.750000 0.000000
|
||||||
|
vt 0.800000 0.200000
|
||||||
|
vt 0.750000 0.266667
|
||||||
|
vt 0.800000 0.266667
|
||||||
|
vt 0.400000 0.533333
|
||||||
|
vt 0.450000 0.466667
|
||||||
|
vt 0.450000 0.533333
|
||||||
|
vt 0.450000 0.600000
|
||||||
|
vt 0.400000 0.533333
|
||||||
|
vt 0.450000 0.533333
|
||||||
|
vt 0.450000 0.466667
|
||||||
|
vt 0.400000 0.466667
|
||||||
|
vt 0.350000 0.533333
|
||||||
|
vt 0.400000 0.600000
|
||||||
|
vt 0.350000 0.600000
|
||||||
|
vt 0.400000 0.666667
|
||||||
|
vt 0.450000 0.666667
|
||||||
|
vt 0.500000 0.600000
|
||||||
|
vt 0.500000 0.533333
|
||||||
|
vt 0.500000 0.600000
|
||||||
|
vt 0.450000 0.600000
|
||||||
|
vt 0.400000 0.666667
|
||||||
|
vt 0.400000 0.600000
|
||||||
|
vt 0.350000 0.533333
|
||||||
|
vt 0.650000 0.000000
|
||||||
|
vt 0.500000 0.333333
|
||||||
|
vt 0.500000 0.000000
|
||||||
|
vt 0.450000 0.533333
|
||||||
|
vt 0.700000 0.200000
|
||||||
|
vt 0.400000 0.466667
|
||||||
|
vt 0.500000 0.533333
|
||||||
|
vt 0.450000 0.666667
|
||||||
|
vt 0.350000 0.600000
|
||||||
|
vn 0.0000 0.0000 1.0000
|
||||||
|
vn 0.0000 0.0000 -1.0000
|
||||||
|
vn -1.0000 0.0000 0.0000
|
||||||
|
vn 0.0000 -1.0000 0.0000
|
||||||
|
vn 1.0000 0.0000 0.0000
|
||||||
|
vn 0.0000 1.0000 0.0000
|
||||||
|
s off
|
||||||
|
f 4/1/1 1/2/1 2/3/1
|
||||||
|
f 6/4/2 7/5/2 5/6/2
|
||||||
|
f 1/7/3 9/8/3 6/9/3
|
||||||
|
f 1/7/3 5/10/3 2/11/3
|
||||||
|
f 2/12/4 7/5/4 4/1/4
|
||||||
|
f 3/13/5 7/5/5 8/14/5
|
||||||
|
f 12/15/1 9/16/1 10/17/1
|
||||||
|
f 14/18/2 15/19/2 13/20/2
|
||||||
|
f 16/21/4 1/22/4 3/13/4
|
||||||
|
f 10/23/3 14/24/3 13/25/3
|
||||||
|
f 10/26/4 15/19/4 12/15/4
|
||||||
|
f 12/15/5 16/21/5 11/27/5
|
||||||
|
f 6/28/6 11/27/6 8/14/6
|
||||||
|
f 8/14/5 16/21/5 3/13/5
|
||||||
|
f 21/29/3 19/30/3 17/31/3
|
||||||
|
f 23/32/2 20/33/2 19/30/2
|
||||||
|
f 22/34/1 17/35/1 18/36/1
|
||||||
|
f 24/37/5 18/36/5 20/33/5
|
||||||
|
f 21/38/6 24/37/6 23/39/6
|
||||||
|
f 34/40/4 39/41/4 36/42/4
|
||||||
|
f 30/43/2 31/44/2 29/45/2
|
||||||
|
f 26/46/4 31/44/4 28/47/4
|
||||||
|
f 28/48/5 32/49/5 27/50/5
|
||||||
|
f 27/51/6 30/43/6 25/52/6
|
||||||
|
f 25/53/3 29/45/3 26/54/3
|
||||||
|
f 36/42/5 40/55/5 35/56/5
|
||||||
|
f 35/56/6 38/57/6 33/58/6
|
||||||
|
f 33/58/3 37/59/3 34/40/3
|
||||||
|
f 34/40/1 35/56/1 33/58/1
|
||||||
|
f 4/1/1 3/13/1 1/2/1
|
||||||
|
f 6/4/2 8/14/2 7/5/2
|
||||||
|
f 1/7/3 14/24/3 9/8/3
|
||||||
|
f 1/7/3 6/9/3 5/10/3
|
||||||
|
f 2/12/4 5/60/4 7/5/4
|
||||||
|
f 3/13/5 4/1/5 7/5/5
|
||||||
|
f 12/15/1 11/27/1 9/16/1
|
||||||
|
f 14/18/2 16/21/2 15/19/2
|
||||||
|
f 16/21/4 14/61/4 1/22/4
|
||||||
|
f 10/23/3 9/8/3 14/24/3
|
||||||
|
f 10/26/4 13/62/4 15/19/4
|
||||||
|
f 12/15/5 15/19/5 16/21/5
|
||||||
|
f 6/28/6 9/63/6 11/27/6
|
||||||
|
f 8/14/5 11/27/5 16/21/5
|
||||||
|
f 21/29/3 23/32/3 19/30/3
|
||||||
|
f 23/32/2 24/37/2 20/33/2
|
||||||
|
f 22/34/1 21/64/1 17/35/1
|
||||||
|
f 24/37/5 22/34/5 18/36/5
|
||||||
|
f 21/38/6 22/34/6 24/37/6
|
||||||
|
f 34/40/4 37/65/4 39/41/4
|
||||||
|
f 30/43/2 32/49/2 31/44/2
|
||||||
|
f 26/46/4 29/45/4 31/44/4
|
||||||
|
f 28/48/5 31/44/5 32/49/5
|
||||||
|
f 27/51/6 32/49/6 30/43/6
|
||||||
|
f 25/53/3 30/43/3 29/45/3
|
||||||
|
f 36/42/5 39/66/5 40/55/5
|
||||||
|
f 35/56/6 40/67/6 38/57/6
|
||||||
|
f 33/58/3 38/68/3 37/59/3
|
||||||
|
f 34/40/1 36/42/1 35/56/1
|
||||||
|
o Base
|
||||||
|
v 0.000000 0.968750 0.156250
|
||||||
|
v 0.000000 0.156250 0.156250
|
||||||
|
v 0.000000 0.968750 -0.156250
|
||||||
|
v 0.000000 0.156250 -0.156250
|
||||||
|
v 0.062500 0.968750 -0.156250
|
||||||
|
v 0.062500 0.968750 0.156250
|
||||||
|
v 0.062500 0.156250 0.156250
|
||||||
|
v 0.062500 0.156250 -0.156250
|
||||||
|
v 0.062500 0.625000 0.062500
|
||||||
|
v 0.062500 0.500000 0.062500
|
||||||
|
v 0.062500 0.625000 -0.062500
|
||||||
|
v 0.062500 0.500000 -0.062500
|
||||||
|
v 0.187500 0.625000 -0.062500
|
||||||
|
v 0.187500 0.625000 0.062500
|
||||||
|
v 0.187500 0.500000 0.062500
|
||||||
|
v 0.187500 0.500000 -0.062500
|
||||||
|
v 0.062500 0.437500 0.156250
|
||||||
|
v 0.062500 0.375000 0.156250
|
||||||
|
v 0.062500 0.437500 0.031250
|
||||||
|
v 0.062500 0.375000 0.031250
|
||||||
|
v 0.156250 0.437500 0.031250
|
||||||
|
v 0.156250 0.437500 0.156250
|
||||||
|
v 0.156250 0.375000 0.156250
|
||||||
|
v 0.156250 0.375000 0.031250
|
||||||
|
v 0.156250 0.437500 0.062500
|
||||||
|
v 0.093750 0.437500 0.125000
|
||||||
|
v 0.156250 0.437500 0.125000
|
||||||
|
v 0.156250 0.375000 0.125000
|
||||||
|
v 0.093750 0.437500 0.062500
|
||||||
|
v 0.156250 0.375000 0.062500
|
||||||
|
v 0.093750 0.375000 0.125000
|
||||||
|
v 0.093750 0.375000 0.062500
|
||||||
|
v 0.062500 0.625000 0.156250
|
||||||
|
v 0.062500 0.500000 0.156250
|
||||||
|
v 0.062500 0.625000 0.125000
|
||||||
|
v 0.062500 0.500000 0.125000
|
||||||
|
v 0.187500 0.625000 0.125000
|
||||||
|
v 0.187500 0.625000 0.156250
|
||||||
|
v 0.187500 0.500000 0.156250
|
||||||
|
v 0.187500 0.500000 0.125000
|
||||||
|
v 0.062500 0.625000 -0.125000
|
||||||
|
v 0.062500 0.500000 -0.125000
|
||||||
|
v 0.062500 0.625000 -0.156250
|
||||||
|
v 0.062500 0.500000 -0.156250
|
||||||
|
v 0.187500 0.625000 -0.156250
|
||||||
|
v 0.187500 0.625000 -0.125000
|
||||||
|
v 0.187500 0.500000 -0.125000
|
||||||
|
v 0.187500 0.500000 -0.156250
|
||||||
|
v 0.062500 0.437500 -0.031250
|
||||||
|
v 0.062500 0.375000 -0.031250
|
||||||
|
v 0.062500 0.437500 -0.156250
|
||||||
|
v 0.062500 0.375000 -0.156250
|
||||||
|
v 0.156250 0.437500 -0.156250
|
||||||
|
v 0.156250 0.437500 -0.031250
|
||||||
|
v 0.156250 0.375000 -0.031250
|
||||||
|
v 0.156250 0.375000 -0.156250
|
||||||
|
v 0.156250 0.437500 -0.125000
|
||||||
|
v 0.093750 0.437500 -0.062500
|
||||||
|
v 0.156250 0.437500 -0.062500
|
||||||
|
v 0.156250 0.375000 -0.062500
|
||||||
|
v 0.093750 0.437500 -0.125000
|
||||||
|
v 0.156250 0.375000 -0.125000
|
||||||
|
v 0.093750 0.375000 -0.062500
|
||||||
|
v 0.093750 0.375000 -0.125000
|
||||||
|
v 0.062500 0.750000 0.156250
|
||||||
|
v 0.062500 0.687500 0.156250
|
||||||
|
v 0.062500 0.750000 0.031250
|
||||||
|
v 0.062500 0.687500 0.031250
|
||||||
|
v 0.156250 0.750000 0.031250
|
||||||
|
v 0.156250 0.750000 0.156250
|
||||||
|
v 0.156250 0.687500 0.156250
|
||||||
|
v 0.156250 0.687500 0.031250
|
||||||
|
v 0.156250 0.750000 0.062500
|
||||||
|
v 0.093750 0.750000 0.125000
|
||||||
|
v 0.156250 0.750000 0.125000
|
||||||
|
v 0.156250 0.687500 0.125000
|
||||||
|
v 0.093750 0.750000 0.062500
|
||||||
|
v 0.156250 0.687500 0.062500
|
||||||
|
v 0.093750 0.687500 0.125000
|
||||||
|
v 0.093750 0.687500 0.062500
|
||||||
|
v 0.062500 0.750000 -0.031250
|
||||||
|
v 0.062500 0.687500 -0.031250
|
||||||
|
v 0.062500 0.750000 -0.156250
|
||||||
|
v 0.062500 0.687500 -0.156250
|
||||||
|
v 0.156250 0.750000 -0.156250
|
||||||
|
v 0.156250 0.750000 -0.031250
|
||||||
|
v 0.156250 0.687500 -0.031250
|
||||||
|
v 0.156250 0.687500 -0.156250
|
||||||
|
v 0.156250 0.750000 -0.125000
|
||||||
|
v 0.093750 0.750000 -0.062500
|
||||||
|
v 0.156250 0.750000 -0.062500
|
||||||
|
v 0.156250 0.687500 -0.062500
|
||||||
|
v 0.093750 0.750000 -0.125000
|
||||||
|
v 0.156250 0.687500 -0.125000
|
||||||
|
v 0.093750 0.687500 -0.062500
|
||||||
|
v 0.093750 0.687500 -0.125000
|
||||||
|
vt 0.050000 0.066667
|
||||||
|
vt 0.300000 0.933333
|
||||||
|
vt 0.050000 0.933333
|
||||||
|
vt 0.300000 0.000000
|
||||||
|
vt 0.050000 0.000000
|
||||||
|
vt 0.050000 1.000000
|
||||||
|
vt 0.300000 1.000000
|
||||||
|
vt 0.350000 0.933333
|
||||||
|
vt 0.300000 0.066667
|
||||||
|
vt 0.350000 0.066667
|
||||||
|
vt 0.000000 0.066667
|
||||||
|
vt 0.000000 0.933333
|
||||||
|
vt 0.450000 0.733333
|
||||||
|
vt 0.550000 0.866667
|
||||||
|
vt 0.450000 0.866667
|
||||||
|
vt 0.650000 0.866667
|
||||||
|
vt 0.550000 0.733333
|
||||||
|
vt 0.650000 0.733333
|
||||||
|
vt 0.350000 0.733333
|
||||||
|
vt 0.350000 0.866667
|
||||||
|
vt 0.550000 0.600000
|
||||||
|
vt 0.450000 0.600000
|
||||||
|
vt 0.450000 1.000000
|
||||||
|
vt 0.550000 1.000000
|
||||||
|
vt 0.875000 0.533333
|
||||||
|
vt 0.900000 0.600000
|
||||||
|
vt 0.875000 0.600000
|
||||||
|
vt 1.000000 0.600000
|
||||||
|
vt 0.925000 0.533333
|
||||||
|
vt 1.000000 0.533333
|
||||||
|
vt 0.700000 0.533333
|
||||||
|
vt 0.775000 0.600000
|
||||||
|
vt 0.700000 0.600000
|
||||||
|
vt 0.975000 0.600000
|
||||||
|
vt 0.925000 0.533333
|
||||||
|
vt 0.975000 0.533333
|
||||||
|
vt 0.825000 0.533333
|
||||||
|
vt 0.875000 0.600000
|
||||||
|
vt 0.825000 0.600000
|
||||||
|
vt 0.800000 0.533333
|
||||||
|
vt 0.825000 0.600000
|
||||||
|
vt 0.800000 0.600000
|
||||||
|
vt 0.825000 0.700000
|
||||||
|
vt 0.900000 0.733333
|
||||||
|
vt 0.800000 0.733333
|
||||||
|
vt 0.725000 0.533333
|
||||||
|
vt 0.775000 0.600000
|
||||||
|
vt 0.725000 0.600000
|
||||||
|
vt 0.800000 0.633333
|
||||||
|
vt 0.825000 0.633333
|
||||||
|
vt 0.875000 0.700000
|
||||||
|
vt 0.900000 0.633333
|
||||||
|
vt 0.875000 0.433333
|
||||||
|
vt 0.900000 0.500000
|
||||||
|
vt 0.875000 0.500000
|
||||||
|
vt 0.800000 0.500000
|
||||||
|
vt 0.825000 0.433333
|
||||||
|
vt 0.825000 0.500000
|
||||||
|
vt 0.800000 0.400000
|
||||||
|
vt 0.900000 0.400000
|
||||||
|
vt 0.750000 0.733333
|
||||||
|
vt 0.800000 0.866667
|
||||||
|
vt 0.750000 0.866667
|
||||||
|
vt 0.900000 0.866667
|
||||||
|
vt 0.800000 0.733333
|
||||||
|
vt 0.900000 0.733333
|
||||||
|
vt 0.650000 0.733333
|
||||||
|
vt 0.650000 0.866667
|
||||||
|
vt 0.800000 0.600000
|
||||||
|
vt 0.750000 0.600000
|
||||||
|
vt 0.750000 1.000000
|
||||||
|
vt 0.800000 1.000000
|
||||||
|
vt 0.750000 0.733333
|
||||||
|
vt 0.800000 0.866667
|
||||||
|
vt 0.750000 0.866667
|
||||||
|
vt 0.900000 0.866667
|
||||||
|
vt 0.800000 0.733333
|
||||||
|
vt 0.900000 0.733333
|
||||||
|
vt 0.650000 0.733333
|
||||||
|
vt 0.650000 0.866667
|
||||||
|
vt 0.800000 0.600000
|
||||||
|
vt 0.750000 0.600000
|
||||||
|
vt 0.750000 1.000000
|
||||||
|
vt 0.800000 1.000000
|
||||||
|
vt 0.875000 0.533333
|
||||||
|
vt 0.900000 0.600000
|
||||||
|
vt 0.875000 0.600000
|
||||||
|
vt 1.000000 0.600000
|
||||||
|
vt 0.925000 0.533333
|
||||||
|
vt 1.000000 0.533333
|
||||||
|
vt 0.700000 0.533333
|
||||||
|
vt 0.775000 0.600000
|
||||||
|
vt 0.700000 0.600000
|
||||||
|
vt 0.975000 0.600000
|
||||||
|
vt 0.925000 0.533333
|
||||||
|
vt 0.975000 0.533333
|
||||||
|
vt 0.825000 0.533333
|
||||||
|
vt 0.875000 0.600000
|
||||||
|
vt 0.825000 0.600000
|
||||||
|
vt 0.800000 0.533333
|
||||||
|
vt 0.825000 0.600000
|
||||||
|
vt 0.800000 0.600000
|
||||||
|
vt 0.825000 0.700000
|
||||||
|
vt 0.900000 0.733333
|
||||||
|
vt 0.800000 0.733333
|
||||||
|
vt 0.725000 0.533333
|
||||||
|
vt 0.775000 0.600000
|
||||||
|
vt 0.725000 0.600000
|
||||||
|
vt 0.800000 0.633333
|
||||||
|
vt 0.825000 0.633333
|
||||||
|
vt 0.875000 0.700000
|
||||||
|
vt 0.900000 0.633333
|
||||||
|
vt 0.875000 0.433333
|
||||||
|
vt 0.900000 0.500000
|
||||||
|
vt 0.875000 0.500000
|
||||||
|
vt 0.800000 0.500000
|
||||||
|
vt 0.825000 0.433333
|
||||||
|
vt 0.825000 0.500000
|
||||||
|
vt 0.800000 0.400000
|
||||||
|
vt 0.900000 0.400000
|
||||||
|
vt 0.875000 0.533333
|
||||||
|
vt 0.900000 0.600000
|
||||||
|
vt 0.875000 0.600000
|
||||||
|
vt 1.000000 0.600000
|
||||||
|
vt 0.925000 0.533333
|
||||||
|
vt 1.000000 0.533333
|
||||||
|
vt 0.700000 0.533333
|
||||||
|
vt 0.775000 0.600000
|
||||||
|
vt 0.700000 0.600000
|
||||||
|
vt 0.975000 0.600000
|
||||||
|
vt 0.925000 0.533333
|
||||||
|
vt 0.975000 0.533333
|
||||||
|
vt 0.825000 0.533333
|
||||||
|
vt 0.875000 0.600000
|
||||||
|
vt 0.825000 0.600000
|
||||||
|
vt 0.800000 0.533333
|
||||||
|
vt 0.825000 0.600000
|
||||||
|
vt 0.800000 0.600000
|
||||||
|
vt 0.825000 0.700000
|
||||||
|
vt 0.900000 0.733333
|
||||||
|
vt 0.800000 0.733333
|
||||||
|
vt 0.725000 0.533333
|
||||||
|
vt 0.775000 0.600000
|
||||||
|
vt 0.725000 0.600000
|
||||||
|
vt 0.800000 0.633333
|
||||||
|
vt 0.825000 0.633333
|
||||||
|
vt 0.875000 0.700000
|
||||||
|
vt 0.900000 0.633333
|
||||||
|
vt 0.875000 0.433333
|
||||||
|
vt 0.900000 0.500000
|
||||||
|
vt 0.875000 0.500000
|
||||||
|
vt 0.800000 0.500000
|
||||||
|
vt 0.825000 0.433333
|
||||||
|
vt 0.825000 0.500000
|
||||||
|
vt 0.800000 0.400000
|
||||||
|
vt 0.900000 0.400000
|
||||||
|
vt 0.875000 0.533333
|
||||||
|
vt 0.900000 0.600000
|
||||||
|
vt 0.875000 0.600000
|
||||||
|
vt 1.000000 0.600000
|
||||||
|
vt 0.925000 0.533333
|
||||||
|
vt 1.000000 0.533333
|
||||||
|
vt 0.700000 0.533333
|
||||||
|
vt 0.775000 0.600000
|
||||||
|
vt 0.700000 0.600000
|
||||||
|
vt 0.975000 0.600000
|
||||||
|
vt 0.925000 0.533333
|
||||||
|
vt 0.975000 0.533333
|
||||||
|
vt 0.825000 0.533333
|
||||||
|
vt 0.875000 0.600000
|
||||||
|
vt 0.825000 0.600000
|
||||||
|
vt 0.800000 0.533333
|
||||||
|
vt 0.825000 0.600000
|
||||||
|
vt 0.800000 0.600000
|
||||||
|
vt 0.825000 0.700000
|
||||||
|
vt 0.900000 0.733333
|
||||||
|
vt 0.800000 0.733333
|
||||||
|
vt 0.725000 0.533333
|
||||||
|
vt 0.775000 0.600000
|
||||||
|
vt 0.725000 0.600000
|
||||||
|
vt 0.800000 0.633333
|
||||||
|
vt 0.825000 0.633333
|
||||||
|
vt 0.875000 0.700000
|
||||||
|
vt 0.900000 0.633333
|
||||||
|
vt 0.875000 0.433333
|
||||||
|
vt 0.900000 0.500000
|
||||||
|
vt 0.875000 0.500000
|
||||||
|
vt 0.800000 0.500000
|
||||||
|
vt 0.825000 0.433333
|
||||||
|
vt 0.825000 0.500000
|
||||||
|
vt 0.800000 0.400000
|
||||||
|
vt 0.900000 0.400000
|
||||||
|
vt 0.900000 0.533333
|
||||||
|
vt 0.925000 0.600000
|
||||||
|
vt 0.775000 0.533333
|
||||||
|
vt 0.925000 0.600000
|
||||||
|
vt 0.875000 0.533333
|
||||||
|
vt 0.825000 0.533333
|
||||||
|
vt 0.775000 0.533333
|
||||||
|
vt 0.875000 0.633333
|
||||||
|
vt 0.900000 0.533333
|
||||||
|
vt 0.925000 0.600000
|
||||||
|
vt 0.775000 0.533333
|
||||||
|
vt 0.925000 0.600000
|
||||||
|
vt 0.875000 0.533333
|
||||||
|
vt 0.825000 0.533333
|
||||||
|
vt 0.775000 0.533333
|
||||||
|
vt 0.875000 0.633333
|
||||||
|
vt 0.900000 0.533333
|
||||||
|
vt 0.925000 0.600000
|
||||||
|
vt 0.775000 0.533333
|
||||||
|
vt 0.925000 0.600000
|
||||||
|
vt 0.875000 0.533333
|
||||||
|
vt 0.825000 0.533333
|
||||||
|
vt 0.775000 0.533333
|
||||||
|
vt 0.875000 0.633333
|
||||||
|
vt 0.900000 0.533333
|
||||||
|
vt 0.925000 0.600000
|
||||||
|
vt 0.775000 0.533333
|
||||||
|
vt 0.925000 0.600000
|
||||||
|
vt 0.875000 0.533333
|
||||||
|
vt 0.825000 0.533333
|
||||||
|
vt 0.775000 0.533333
|
||||||
|
vt 0.875000 0.633333
|
||||||
|
vn 1.0000 0.0000 0.0000
|
||||||
|
vn 0.0000 -1.0000 0.0000
|
||||||
|
vn 0.0000 1.0000 0.0000
|
||||||
|
vn 0.0000 0.0000 -1.0000
|
||||||
|
vn 0.0000 0.0000 1.0000
|
||||||
|
s off
|
||||||
|
f 47/69/7 45/70/7 46/71/7
|
||||||
|
f 44/72/8 47/69/8 42/73/8
|
||||||
|
f 41/74/9 45/70/9 43/75/9
|
||||||
|
f 43/76/10 48/77/10 44/78/10
|
||||||
|
f 42/79/11 46/71/11 41/80/11
|
||||||
|
f 55/81/7 53/82/7 54/83/7
|
||||||
|
f 51/84/10 56/85/10 52/86/10
|
||||||
|
f 50/87/11 54/83/11 49/88/11
|
||||||
|
f 52/89/8 55/81/8 50/90/8
|
||||||
|
f 49/91/9 53/82/9 51/92/9
|
||||||
|
f 70/93/7 61/94/7 65/95/7
|
||||||
|
f 59/96/10 64/97/10 60/98/10
|
||||||
|
f 58/99/11 62/100/11 57/101/11
|
||||||
|
f 65/102/11 72/103/11 70/104/11
|
||||||
|
f 71/105/7 69/106/7 66/107/7
|
||||||
|
f 63/108/7 67/109/7 62/110/7
|
||||||
|
f 66/111/9 59/112/9 57/113/9
|
||||||
|
f 68/114/10 66/115/10 67/116/10
|
||||||
|
f 66/111/9 62/117/9 67/118/9
|
||||||
|
f 69/119/9 61/120/9 59/112/9
|
||||||
|
f 72/121/8 64/122/8 70/123/8
|
||||||
|
f 63/124/8 71/125/8 68/126/8
|
||||||
|
f 72/121/8 58/127/8 60/128/8
|
||||||
|
f 79/129/7 77/130/7 78/131/7
|
||||||
|
f 75/132/10 80/133/10 76/134/10
|
||||||
|
f 74/135/11 78/131/11 73/136/11
|
||||||
|
f 76/137/8 79/129/8 74/138/8
|
||||||
|
f 73/139/9 77/130/9 75/140/9
|
||||||
|
f 87/141/7 85/142/7 86/143/7
|
||||||
|
f 83/144/10 88/145/10 84/146/10
|
||||||
|
f 82/147/11 86/143/11 81/148/11
|
||||||
|
f 84/149/8 87/141/8 82/150/8
|
||||||
|
f 81/151/9 85/142/9 83/152/9
|
||||||
|
f 102/153/7 93/154/7 97/155/7
|
||||||
|
f 91/156/10 96/157/10 92/158/10
|
||||||
|
f 90/159/11 94/160/11 89/161/11
|
||||||
|
f 97/162/11 104/163/11 102/164/11
|
||||||
|
f 103/165/7 101/166/7 98/167/7
|
||||||
|
f 95/168/7 99/169/7 94/170/7
|
||||||
|
f 98/171/9 91/172/9 89/173/9
|
||||||
|
f 100/174/10 98/175/10 99/176/10
|
||||||
|
f 98/171/9 94/177/9 99/178/9
|
||||||
|
f 101/179/9 93/180/9 91/172/9
|
||||||
|
f 104/181/8 96/182/8 102/183/8
|
||||||
|
f 95/184/8 103/185/8 100/186/8
|
||||||
|
f 104/181/8 90/187/8 92/188/8
|
||||||
|
f 118/189/7 109/190/7 113/191/7
|
||||||
|
f 107/192/10 112/193/10 108/194/10
|
||||||
|
f 106/195/11 110/196/11 105/197/11
|
||||||
|
f 113/198/11 120/199/11 118/200/11
|
||||||
|
f 119/201/7 117/202/7 114/203/7
|
||||||
|
f 111/204/7 115/205/7 110/206/7
|
||||||
|
f 114/207/9 107/208/9 105/209/9
|
||||||
|
f 116/210/10 114/211/10 115/212/10
|
||||||
|
f 114/207/9 110/213/9 115/214/9
|
||||||
|
f 117/215/9 109/216/9 107/208/9
|
||||||
|
f 120/217/8 112/218/8 118/219/8
|
||||||
|
f 111/220/8 119/221/8 116/222/8
|
||||||
|
f 120/217/8 106/223/8 108/224/8
|
||||||
|
f 134/225/7 125/226/7 129/227/7
|
||||||
|
f 123/228/10 128/229/10 124/230/10
|
||||||
|
f 122/231/11 126/232/11 121/233/11
|
||||||
|
f 129/234/11 136/235/11 134/236/11
|
||||||
|
f 135/237/7 133/238/7 130/239/7
|
||||||
|
f 127/240/7 131/241/7 126/242/7
|
||||||
|
f 130/243/9 123/244/9 121/245/9
|
||||||
|
f 132/246/10 130/247/10 131/248/10
|
||||||
|
f 130/243/9 126/249/9 131/250/9
|
||||||
|
f 133/251/9 125/252/9 123/244/9
|
||||||
|
f 136/253/8 128/254/8 134/255/8
|
||||||
|
f 127/256/8 135/257/8 132/258/8
|
||||||
|
f 136/253/8 122/259/8 124/260/8
|
||||||
|
f 47/69/7 48/77/7 45/70/7
|
||||||
|
f 44/72/8 48/77/8 47/69/8
|
||||||
|
f 41/74/9 46/71/9 45/70/9
|
||||||
|
f 43/76/10 45/70/10 48/77/10
|
||||||
|
f 42/79/11 47/69/11 46/71/11
|
||||||
|
f 55/81/7 56/85/7 53/82/7
|
||||||
|
f 51/84/10 53/82/10 56/85/10
|
||||||
|
f 50/87/11 55/81/11 54/83/11
|
||||||
|
f 52/89/8 56/85/8 55/81/8
|
||||||
|
f 49/91/9 54/83/9 53/82/9
|
||||||
|
f 70/93/7 64/261/7 61/94/7
|
||||||
|
f 59/96/10 61/262/10 64/97/10
|
||||||
|
f 58/99/11 63/263/11 62/100/11
|
||||||
|
f 65/102/11 69/264/11 72/103/11
|
||||||
|
f 71/105/7 72/265/7 69/106/7
|
||||||
|
f 63/108/7 68/266/7 67/109/7
|
||||||
|
f 66/111/9 69/119/9 59/112/9
|
||||||
|
f 68/114/10 71/267/10 66/115/10
|
||||||
|
f 66/111/9 57/113/9 62/117/9
|
||||||
|
f 69/119/9 65/268/9 61/120/9
|
||||||
|
f 72/121/8 60/128/8 64/122/8
|
||||||
|
f 63/124/8 58/127/8 71/125/8
|
||||||
|
f 72/121/8 71/125/8 58/127/8
|
||||||
|
f 79/129/7 80/133/7 77/130/7
|
||||||
|
f 75/132/10 77/130/10 80/133/10
|
||||||
|
f 74/135/11 79/129/11 78/131/11
|
||||||
|
f 76/137/8 80/133/8 79/129/8
|
||||||
|
f 73/139/9 78/131/9 77/130/9
|
||||||
|
f 87/141/7 88/145/7 85/142/7
|
||||||
|
f 83/144/10 85/142/10 88/145/10
|
||||||
|
f 82/147/11 87/141/11 86/143/11
|
||||||
|
f 84/149/8 88/145/8 87/141/8
|
||||||
|
f 81/151/9 86/143/9 85/142/9
|
||||||
|
f 102/153/7 96/269/7 93/154/7
|
||||||
|
f 91/156/10 93/270/10 96/157/10
|
||||||
|
f 90/159/11 95/271/11 94/160/11
|
||||||
|
f 97/162/11 101/272/11 104/163/11
|
||||||
|
f 103/165/7 104/273/7 101/166/7
|
||||||
|
f 95/168/7 100/274/7 99/169/7
|
||||||
|
f 98/171/9 101/179/9 91/172/9
|
||||||
|
f 100/174/10 103/275/10 98/175/10
|
||||||
|
f 98/171/9 89/173/9 94/177/9
|
||||||
|
f 101/179/9 97/276/9 93/180/9
|
||||||
|
f 104/181/8 92/188/8 96/182/8
|
||||||
|
f 95/184/8 90/187/8 103/185/8
|
||||||
|
f 104/181/8 103/185/8 90/187/8
|
||||||
|
f 118/189/7 112/277/7 109/190/7
|
||||||
|
f 107/192/10 109/278/10 112/193/10
|
||||||
|
f 106/195/11 111/279/11 110/196/11
|
||||||
|
f 113/198/11 117/280/11 120/199/11
|
||||||
|
f 119/201/7 120/281/7 117/202/7
|
||||||
|
f 111/204/7 116/282/7 115/205/7
|
||||||
|
f 114/207/9 117/215/9 107/208/9
|
||||||
|
f 116/210/10 119/283/10 114/211/10
|
||||||
|
f 114/207/9 105/209/9 110/213/9
|
||||||
|
f 117/215/9 113/284/9 109/216/9
|
||||||
|
f 120/217/8 108/224/8 112/218/8
|
||||||
|
f 111/220/8 106/223/8 119/221/8
|
||||||
|
f 120/217/8 119/221/8 106/223/8
|
||||||
|
f 134/225/7 128/285/7 125/226/7
|
||||||
|
f 123/228/10 125/286/10 128/229/10
|
||||||
|
f 122/231/11 127/287/11 126/232/11
|
||||||
|
f 129/234/11 133/288/11 136/235/11
|
||||||
|
f 135/237/7 136/289/7 133/238/7
|
||||||
|
f 127/240/7 132/290/7 131/241/7
|
||||||
|
f 130/243/9 133/251/9 123/244/9
|
||||||
|
f 132/246/10 135/291/10 130/247/10
|
||||||
|
f 130/243/9 121/245/9 126/249/9
|
||||||
|
f 133/251/9 129/292/9 125/252/9
|
||||||
|
f 136/253/8 124/260/8 128/254/8
|
||||||
|
f 127/256/8 122/259/8 135/257/8
|
||||||
|
f 136/253/8 135/257/8 122/259/8
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
BIN
src/main/resources/assets/hbm/textures/models/network/lever.png
Normal file
BIN
src/main/resources/assets/hbm/textures/models/network/lever.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 394 B |
Loading…
x
Reference in New Issue
Block a user