mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
fixes, plushies
This commit is contained in:
parent
522c4e1b24
commit
9ebcab3244
10
changelog
10
changelog
@ -1,8 +1,16 @@
|
||||
## Changed
|
||||
* The fluid burner, heat exchanging heater and cooling tower now use the single steel pipe items instead of the larger steel pipes
|
||||
* Reduced the amount of condensers needed for crafting the cooling towers
|
||||
* Liquefactors and solidifiers now have a base processing time of 5 seconds per operation (instead of 10)
|
||||
* Added some info to the coltass about how the coltan deposit works
|
||||
* Moced some NEI handlers around, fluid containers are now listed last and radiolysis is now listed right after cracking, since they have the same recipes
|
||||
* The autocrafter's inputs are now limited to 4 items per slot
|
||||
* Autocrafters can now receive stacked items again (except for items with containers), if they do not exceed the 4 item threshold
|
||||
|
||||
## Fixed
|
||||
* Fixed crash caused by decontaminating items with the radiolysis machine
|
||||
* Fixed ICFs not forming correctly depending on the orientation
|
||||
* Fixed electrolyzer metal recipe config not working
|
||||
* Fixed electrolyzer metal recipe config not working
|
||||
* Fixed the meteor charms not working when used on helmets
|
||||
* Fixed NEI handler for the ICF's consturction showing inconsistent values
|
||||
* Fixed radiolysis recipes not showing up in NEI unless the usage recipes are loaded first
|
||||
@ -31,8 +31,4 @@ public abstract class BlockMulti extends BlockBase implements IBlockMulti {
|
||||
list.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
|
||||
public String getUnlocalizedName(ItemStack stack) {
|
||||
return this.getUnlocalizedName();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,9 +1,20 @@
|
||||
package com.hbm.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public interface IBlockMulti {
|
||||
|
||||
public int getSubCount();
|
||||
|
||||
public default String getUnlocalizedName(ItemStack stack) {
|
||||
return ((Block)this).getUnlocalizedName();
|
||||
}
|
||||
|
||||
public default String getOverrideDisplayName(ItemStack stack) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public default int rectify(int meta) {
|
||||
return Math.abs(meta % getSubCount());
|
||||
}
|
||||
|
||||
@ -271,6 +271,7 @@ public class ModBlocks {
|
||||
public static Block pedestal;
|
||||
public static Block bobblehead;
|
||||
public static Block snowglobe;
|
||||
public static Block plushie;
|
||||
|
||||
public static Block hazmat;
|
||||
|
||||
@ -1454,6 +1455,7 @@ public class ModBlocks {
|
||||
pedestal = new BlockPedestal().setBlockName("pedestal").setCreativeTab(null).setHardness(2.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":pedestal_top");
|
||||
bobblehead = new BlockBobble().setBlockName("bobblehead").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
snowglobe = new BlockSnowglobe().setBlockName("snowglobe").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":glass_boron");
|
||||
plushie = new BlockPlushie().setBlockName("plushie").setStepSound(Block.soundTypeCloth).setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_fiberglass_side");
|
||||
hazmat = new BlockGeneric(Material.cloth).setBlockName("hazmat").setStepSound(Block.soundTypeCloth).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":hazmat");
|
||||
|
||||
gravel_obsidian = new BlockFalling(Material.iron).setBlockName("gravel_obsidian").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(5.0F).setResistance(240.0F).setBlockTextureName(RefStrings.MODID + ":gravel_obsidian");
|
||||
@ -2600,6 +2602,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(pedestal, pedestal.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(bobblehead, ItemBlockMeta.class, bobblehead.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(snowglobe, ItemBlockMeta.class, snowglobe.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(plushie, ItemBlockBase.class, plushie.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(hazmat, hazmat.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(deco_rbmk, deco_rbmk.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(deco_rbmk_smooth, deco_rbmk_smooth.getUnlocalizedName());
|
||||
|
||||
172
src/main/java/com/hbm/blocks/generic/BlockPlushie.java
Normal file
172
src/main/java/com/hbm/blocks/generic/BlockPlushie.java
Normal file
@ -0,0 +1,172 @@
|
||||
package com.hbm.blocks.generic;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.IBlockMulti;
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.network.NetworkManager;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
|
||||
import net.minecraft.stats.StatList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockPlushie extends BlockContainer implements IBlockMulti, ITooltipProvider {
|
||||
|
||||
public BlockPlushie() {
|
||||
super(Material.cloth);
|
||||
}
|
||||
|
||||
@Override public int getRenderType() { return -1; }
|
||||
@Override public boolean isOpaqueCube() { return false; }
|
||||
@Override public boolean renderAsNormalBlock() { return false; }
|
||||
@Override public Item getItemDropped(int i, Random rand, int j) { return null; }
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) {
|
||||
TileEntityPlushie entity = (TileEntityPlushie) world.getTileEntity(x, y, z);
|
||||
if(entity != null) return new ItemStack(this, 1, entity.type.ordinal());
|
||||
return super.getPickBlock(target, world, x, y, z, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) {
|
||||
|
||||
if(!player.capabilities.isCreativeMode) {
|
||||
harvesters.set(player);
|
||||
if(!world.isRemote) {
|
||||
TileEntityPlushie entity = (TileEntityPlushie) world.getTileEntity(x, y, z);
|
||||
if(entity != null) {
|
||||
EntityItem item = new EntityItem(world, x + 0.5, y, z + 0.5, new ItemStack(this, 1, entity.type.ordinal()));
|
||||
item.motionX = 0;
|
||||
item.motionY = 0;
|
||||
item.motionZ = 0;
|
||||
world.spawnEntityInWorld(item);
|
||||
}
|
||||
}
|
||||
harvesters.set(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void harvestBlock(World world, EntityPlayer player, int x, int y, int z, int meta) {
|
||||
player.addStat(StatList.mineBlockStatArray[getIdFromBlock(this)], 1);
|
||||
player.addExhaustion(0.025F);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubBlocks(Item item, CreativeTabs tab, List list) {
|
||||
for(int i = 1; i < PlushieType.values().length; i++) list.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) {
|
||||
int meta = MathHelper.floor_double((double)((player.rotationYaw + 180.0F) * 16.0F / 360.0F) + 0.5D) & 15;
|
||||
world.setBlockMetadataWithNotify(x, y, z, meta, 2);
|
||||
|
||||
TileEntityPlushie plushie = (TileEntityPlushie) world.getTileEntity(x, y, z);
|
||||
plushie.type = PlushieType.values()[Math.abs(stack.getItemDamage()) % PlushieType.values().length];
|
||||
plushie.markDirty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
return new TileEntityPlushie();
|
||||
}
|
||||
|
||||
@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) {
|
||||
TileEntityPlushie plushie = (TileEntityPlushie) world.getTileEntity(x, y, z);
|
||||
plushie.squishTimer = 11;
|
||||
return true;
|
||||
} else {
|
||||
world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:block.squeakyToy", 0.25F, 1F);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static class TileEntityPlushie extends TileEntity {
|
||||
|
||||
public PlushieType type = PlushieType.NONE;
|
||||
public int squishTimer;
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
if(squishTimer > 0) squishTimer--;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Packet getDescriptionPacket() {
|
||||
NBTTagCompound nbt = new NBTTagCompound();
|
||||
this.writeToNBT(nbt);
|
||||
return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) {
|
||||
this.readFromNBT(pkt.func_148857_g());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
this.type = PlushieType.values()[Math.abs(nbt.getByte("type")) % PlushieType.values().length];
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
nbt.setByte("type", (byte) type.ordinal());
|
||||
}
|
||||
}
|
||||
|
||||
public static enum PlushieType {
|
||||
NONE( "NONE", null),
|
||||
YOMI( "Yomi", "Hi! Can I be your rabbit friend?"),
|
||||
NUMBERNINE( "Number Nine", "None of y'all deserve coal.");
|
||||
|
||||
public String label;
|
||||
public String inscription;
|
||||
|
||||
private PlushieType(String label, String inscription) {
|
||||
this.label = label;
|
||||
this.inscription = inscription;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSubCount() {
|
||||
return PlushieType.values().length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOverrideDisplayName(ItemStack stack) {
|
||||
PlushieType type = PlushieType.values()[Math.abs(stack.getItemDamage()) % PlushieType.values().length];
|
||||
return StatCollector.translateToLocalFormatted(this.getUnlocalizedName() + ".name", type == PlushieType.NONE ? "" : type.label).trim();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
PlushieType type = PlushieType.values()[Math.abs(stack.getItemDamage()) % PlushieType.values().length];
|
||||
if(type.inscription != null) list.add(type.inscription);
|
||||
}
|
||||
}
|
||||
@ -35,6 +35,7 @@ public class EntityMovingItem extends EntityMovingConveyorObject implements ICon
|
||||
public boolean interactFirst(EntityPlayer player) {
|
||||
|
||||
if(!worldObj.isRemote && player.inventory.addItemStackToInventory(this.getItemStack().copy())) {
|
||||
player.inventoryContainer.detectAndSendChanges();
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
|
||||
@ -202,15 +202,17 @@ public class BossSpawnHandler {
|
||||
boolean repell = false;
|
||||
boolean strike = true;
|
||||
|
||||
if(p.getCurrentArmor(2) != null && ArmorModHandler.hasMods(p.getCurrentArmor(2))) {
|
||||
ItemStack mod = ArmorModHandler.pryMods(p.getCurrentArmor(2))[ArmorModHandler.helmet_only];
|
||||
|
||||
if(mod != null) {
|
||||
if(mod.getItem() == ModItems.protection_charm) {
|
||||
repell = true;
|
||||
}
|
||||
if(mod.getItem() == ModItems.meteor_charm) {
|
||||
strike = false;
|
||||
for(int i = 0; i < 4; i++) {
|
||||
ItemStack armor = p.getCurrentArmor(i);
|
||||
if(armor != null && ArmorModHandler.hasMods(armor)) {
|
||||
|
||||
for(int j = 0; j < 8; j++) {
|
||||
ItemStack mod = ArmorModHandler.pryMods(armor)[j];
|
||||
|
||||
if(mod != null) {
|
||||
if(mod.getItem() == ModItems.protection_charm) repell = true;
|
||||
if(mod.getItem() == ModItems.meteor_charm) strike = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -105,7 +105,7 @@ public class ConstructionHandler extends NEIUniversalHandler {
|
||||
ItemStack[] icf = new ItemStack[] {
|
||||
new ItemStack(ModBlocks.icf_component, 50, 0),
|
||||
ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.icf_component, 240, 3), EnumChatFormatting.RED + "3x64 + 48"),
|
||||
ItemStackUtil.addTooltipToStack(Mats.MAT_DURA.make(ModItems.bolt, 960), EnumChatFormatting.RED + "9x64"),
|
||||
ItemStackUtil.addTooltipToStack(Mats.MAT_DURA.make(ModItems.bolt, 960), EnumChatFormatting.RED + "15x64"),
|
||||
ItemStackUtil.addTooltipToStack(Mats.MAT_STEEL.make(ModItems.plate_cast, 240), EnumChatFormatting.RED + "3x64 + 48"),
|
||||
ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.icf_component, 117, 1), EnumChatFormatting.RED + "64 + 53"),
|
||||
ItemStackUtil.addTooltipToStack(Mats.MAT_BBRONZE.make(ModItems.plate_cast, 117), EnumChatFormatting.RED + "64 + 53"),
|
||||
|
||||
@ -14,7 +14,6 @@ import com.hbm.inventory.gui.GUIRadiolysis;
|
||||
import com.hbm.inventory.recipes.RadiolysisRecipes;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import codechicken.nei.NEIServerUtils;
|
||||
import codechicken.nei.PositionedStack;
|
||||
import codechicken.nei.recipe.TemplateRecipeHandler;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
@ -95,7 +94,7 @@ public class RadiolysisRecipeHandler extends TemplateRecipeHandler implements IC
|
||||
HashMap<Object, Object[]> recipes = (HashMap<Object, Object[]>) RadiolysisRecipes.getRecipesForNEI();
|
||||
|
||||
for(Entry<Object, Object[]> recipe : recipes.entrySet()) {
|
||||
if(NEIServerUtils.areStacksSameType((ItemStack)recipe.getValue()[0], result) || NEIServerUtils.areStacksSameType((ItemStack)recipe.getValue()[1], result))
|
||||
if(compareFluidStacks((ItemStack)recipe.getValue()[0], result) || compareFluidStacks((ItemStack)recipe.getValue()[1], result))
|
||||
this.arecipes.add(new RecipeSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue()[0], (ItemStack)recipe.getValue()[1]));
|
||||
}
|
||||
}
|
||||
@ -115,10 +114,14 @@ public class RadiolysisRecipeHandler extends TemplateRecipeHandler implements IC
|
||||
HashMap<Object, Object[]> recipes = (HashMap<Object, Object[]>) RadiolysisRecipes.getRecipesForNEI();
|
||||
|
||||
for(Entry<Object, Object[]> recipe : recipes.entrySet()) {
|
||||
if(NEIServerUtils.areStacksSameType((ItemStack)recipe.getKey(), ingredient))
|
||||
if(compareFluidStacks((ItemStack)recipe.getKey(), ingredient))
|
||||
this.arecipes.add(new RecipeSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue()[0], (ItemStack)recipe.getValue()[1]));
|
||||
}
|
||||
}
|
||||
|
||||
private boolean compareFluidStacks(ItemStack sta1, ItemStack sta2) {
|
||||
return sta1.getItem() == sta2.getItem() && sta1.getItemDamage() == sta2.getItemDamage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawExtras(int recipe) {
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
package com.hbm.inventory.container;
|
||||
|
||||
import com.hbm.inventory.SlotPattern;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineAutocrafter;
|
||||
|
||||
import api.hbm.energymk2.IBatteryItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Slot;
|
||||
@ -88,6 +90,33 @@ public class ContainerAutocrafter extends ContainerBase {
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int index) {
|
||||
return null;
|
||||
ItemStack rStack = null;
|
||||
Slot slot = (Slot) this.inventorySlots.get(index);
|
||||
|
||||
if(slot != null && slot.getHasStack()) {
|
||||
ItemStack stack = slot.getStack();
|
||||
rStack = stack.copy();
|
||||
|
||||
if(index <= 20 && index >= 10) {
|
||||
if(!this.mergeItemStack(stack, 21, this.inventorySlots.size(), true)) {
|
||||
return null;
|
||||
}
|
||||
} else if(index > 20){
|
||||
|
||||
if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) {
|
||||
if(!this.mergeItemStack(stack, 20, 21, false)) return null;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
if(stack.stackSize == 0) {
|
||||
slot.putStack((ItemStack) null);
|
||||
} else {
|
||||
slot.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
return rStack;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,6 @@ package com.hbm.items.block;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.BlockMulti;
|
||||
import com.hbm.blocks.IBlockMulti;
|
||||
import com.hbm.blocks.IPersistentInfoProvider;
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
@ -18,6 +17,7 @@ import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.StatCollector;
|
||||
|
||||
public class ItemBlockBase extends ItemBlock {
|
||||
|
||||
@ -41,14 +41,25 @@ public class ItemBlockBase extends ItemBlock {
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack) {
|
||||
|
||||
if(field_150939_a instanceof BlockMulti) {
|
||||
return ((BlockMulti)field_150939_a).getUnlocalizedName(stack);
|
||||
if(field_150939_a instanceof IBlockMulti) {
|
||||
return ((IBlockMulti) field_150939_a).getUnlocalizedName(stack);
|
||||
} else if(field_150939_a instanceof BlockMetalFence) {
|
||||
return ((BlockMetalFence)field_150939_a).getUnlocalizedName(stack); // I considered reworking IBlockMulti instead but there are like a bajillion implementers
|
||||
return ((BlockMetalFence) field_150939_a).getUnlocalizedName(stack); // I considered reworking IBlockMulti instead but there are like a bajillion implementers
|
||||
} else {
|
||||
return super.getUnlocalizedName(stack);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getItemStackDisplayName(ItemStack stack) {
|
||||
if(field_150939_a instanceof IBlockMulti) {
|
||||
String override = ((IBlockMulti) field_150939_a).getOverrideDisplayName(stack);
|
||||
if(override != null) {
|
||||
return override;
|
||||
}
|
||||
}
|
||||
return ("" + StatCollector.translateToLocal(this.getUnlocalizedNameInefficiently(stack) + ".name")).trim();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.hbm.items.tool;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -12,6 +13,7 @@ import net.minecraft.client.renderer.texture.TextureCompass;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.client.renderer.texture.TextureUtil;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
@ -24,6 +26,14 @@ public class ItemColtanCompass extends Item {
|
||||
public int lastZ = 0;
|
||||
public long lease = 0;
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
list.add("Points towards the coltan deposit.");
|
||||
list.add("The deposit is a large area where coltan ore spawns like standard ore,");
|
||||
list.add("it's not one large blob of ore on that exact location, dipshit.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean inhand) {
|
||||
|
||||
|
||||
@ -53,6 +53,7 @@ import com.hbm.blocks.generic.BlockBobble.TileEntityBobble;
|
||||
import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter;
|
||||
import com.hbm.blocks.generic.BlockLoot.TileEntityLoot;
|
||||
import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal;
|
||||
import com.hbm.blocks.generic.BlockPlushie.TileEntityPlushie;
|
||||
import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe;
|
||||
import com.hbm.blocks.machine.Floodlight.TileEntityFloodlight;
|
||||
import com.hbm.blocks.machine.MachineFan.TileEntityFan;
|
||||
@ -192,6 +193,7 @@ public class ClientProxy extends ServerProxy {
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPedestal.class, new RenderPedestalTile());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBobble.class, new RenderBobble());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySnowglobe.class, new RenderSnowglobe());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPlushie.class, new RenderPlushie());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityEmitter.class, new RenderEmitter());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLantern.class, new RenderLantern());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLanternBehemoth.class, new RenderLanternBehemoth());
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.List;
|
||||
import codechicken.nei.recipe.*;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre;
|
||||
import com.hbm.blocks.generic.BlockPlushie.TileEntityPlushie;
|
||||
import com.hbm.config.CustomMachineConfigJSON;
|
||||
import com.hbm.handler.nei.CustomMachineHandler;
|
||||
import com.hbm.items.ModItems;
|
||||
@ -104,6 +105,21 @@ public class NEIConfig implements IConfigureNEI {
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
API.registerHighlightIdentifier(ModBlocks.plushie, new IHighlightHandler() {
|
||||
@Override public ItemStack identifyHighlight(World world, EntityPlayer player, MovingObjectPosition mop) {
|
||||
int x = mop.blockX;
|
||||
int y = mop.blockY;
|
||||
int z = mop.blockZ;
|
||||
TileEntity te = world.getTileEntity(x, y, z);
|
||||
if(te instanceof TileEntityPlushie) {
|
||||
TileEntityPlushie plush = (TileEntityPlushie) te;
|
||||
return new ItemStack(ModBlocks.plushie, 1, plush.type.ordinal());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@Override public List<String> handleTextData(ItemStack itemStack, World world, EntityPlayer player, MovingObjectPosition mop, List<String> currenttip, Layout layout) { return currenttip; }
|
||||
});
|
||||
}
|
||||
|
||||
public static void registerHandler(Object o) {
|
||||
|
||||
@ -16,6 +16,8 @@ public class NEIRegistry {
|
||||
|
||||
if(!handlers.isEmpty()) return handlers;
|
||||
|
||||
handlers.add(new AnvilRecipeHandler());
|
||||
handlers.add(new SmithingRecipeHandler());
|
||||
handlers.add(new AlloyFurnaceRecipeHandler());
|
||||
handlers.add(new ShredderRecipeHandler());
|
||||
handlers.add(new PressRecipeHandler());
|
||||
@ -27,6 +29,7 @@ public class NEIRegistry {
|
||||
handlers.add(new RefineryRecipeHandler());
|
||||
handlers.add(new VacuumRecipeHandler());
|
||||
handlers.add(new CrackingHandler());
|
||||
handlers.add(new RadiolysisRecipeHandler());
|
||||
handlers.add(new ReformingHandler());
|
||||
handlers.add(new HydrotreatingHandler());
|
||||
handlers.add(new ChemplantRecipeHandler());
|
||||
@ -35,11 +38,7 @@ public class NEIRegistry {
|
||||
handlers.add(new FusionRecipeHandler());
|
||||
handlers.add(new HadronRecipeHandler());
|
||||
handlers.add(new SILEXRecipeHandler());
|
||||
handlers.add(new SmithingRecipeHandler());
|
||||
handlers.add(new AnvilRecipeHandler());
|
||||
handlers.add(new FuelPoolHandler());
|
||||
handlers.add(new FluidRecipeHandler());
|
||||
handlers.add(new RadiolysisRecipeHandler());
|
||||
handlers.add(new CrucibleSmeltingHandler());
|
||||
handlers.add(new CrucibleAlloyingHandler());
|
||||
handlers.add(new CrucibleCastingHandler());
|
||||
@ -66,6 +65,9 @@ public class NEIRegistry {
|
||||
handlers.add(new ExposureChamberHandler());
|
||||
handlers.add(new ArcFurnaceSolidHandler());
|
||||
handlers.add(new ArcFurnaceFluidHandler());
|
||||
|
||||
//this shit comes last
|
||||
handlers.add(new FluidRecipeHandler());
|
||||
|
||||
return handlers;
|
||||
}
|
||||
|
||||
138
src/main/java/com/hbm/render/tileentity/RenderPlushie.java
Normal file
138
src/main/java/com/hbm/render/tileentity/RenderPlushie.java
Normal file
@ -0,0 +1,138 @@
|
||||
package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockPlushie.PlushieType;
|
||||
import com.hbm.blocks.generic.BlockPlushie.TileEntityPlushie;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.item.ItemRenderBase;
|
||||
import com.hbm.render.loader.HFRWavefrontObject;
|
||||
import com.hbm.render.util.HorsePronter;
|
||||
import com.hbm.util.EnumUtil;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.ItemRenderer;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
public class RenderPlushie extends TileEntitySpecialRenderer implements IItemRendererProvider {
|
||||
|
||||
public static final IModelCustom yomiModel = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/trinkets/yomi.obj"), false).asVBO();
|
||||
public static final ResourceLocation yomiTex = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/yomi.png");
|
||||
public static final ResourceLocation numbernineTex = new ResourceLocation(RefStrings.MODID, "textures/models/horse/numbernine.png");
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tile, 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.glRotated(22.5D * tile.getBlockMetadata() + 90, 0, -1, 0);
|
||||
TileEntityPlushie te = (TileEntityPlushie) tile;
|
||||
|
||||
if(te.squishTimer > 0) {
|
||||
double squish = te.squishTimer - interp;
|
||||
GL11.glScaled(1, 1 + (-(Math.sin(squish)) * squish) * 0.025, 1);
|
||||
}
|
||||
|
||||
switch(te.type) {
|
||||
case NONE: break;
|
||||
case YOMI: GL11.glScaled(0.5, 0.5, 0.5); break;
|
||||
case NUMBERNINE: GL11.glScaled(0.75, 0.75, 0.75); break;
|
||||
}
|
||||
renderPlushie(te.type);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public static void renderPlushie(PlushieType type) {
|
||||
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
|
||||
switch(type) {
|
||||
case NONE: break;
|
||||
case YOMI:
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(yomiTex);
|
||||
yomiModel.renderAll();
|
||||
break;
|
||||
case NUMBERNINE:
|
||||
GL11.glRotated(90, 0, 1, 0);
|
||||
GL11.glRotated(15, -1, 0, 0);
|
||||
GL11.glTranslated(0, -0.25, 0.75);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(numbernineTex);
|
||||
HorsePronter.reset();
|
||||
double r = 45;
|
||||
HorsePronter.pose(HorsePronter.id_body, 0, -r, 0);
|
||||
HorsePronter.pose(HorsePronter.id_tail, 0, 60, 90);
|
||||
HorsePronter.pose(HorsePronter.id_lbl, 0, -75 + r, 35);
|
||||
HorsePronter.pose(HorsePronter.id_rbl, 0, -75 + r, -35);
|
||||
HorsePronter.pose(HorsePronter.id_lfl, 0, r - 25, 5);
|
||||
HorsePronter.pose(HorsePronter.id_rfl, 0, r - 25, -5);
|
||||
HorsePronter.pose(HorsePronter.id_head, 0, r + 15, 0);
|
||||
HorsePronter.pront();
|
||||
GL11.glRotated(15, 1, 0, 0);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
GL11.glTranslated(0, 1, -0.6875);
|
||||
double s = 1.125D;
|
||||
GL11.glScaled(0.0625 * s, 0.0625 * s, 0.0625 * s);
|
||||
GL11.glRotated(180, 1, 0, 0);
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.no9);
|
||||
ResourceManager.armor_no9.renderPart("Helmet");
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.no9_insignia);
|
||||
ResourceManager.armor_no9.renderPart("Insignia");
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glPopMatrix();
|
||||
ItemStack stack = new ItemStack(ModItems.cigarette);
|
||||
double scale = 0.25;
|
||||
GL11.glTranslated(-0.06, 1.13, -0.42);
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
GL11.glRotated(90, 0, -1, 0);
|
||||
GL11.glRotated(60, 0, 0, -1);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationItemsTexture);
|
||||
IIcon icon = stack.getIconIndex();
|
||||
ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemForRenderer() {
|
||||
return Item.getItemFromBlock(ModBlocks.plushie);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IItemRenderer getRenderer() {
|
||||
return new ItemRenderBase() {
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -6, 0);
|
||||
GL11.glScaled(6, 6, 6);
|
||||
}
|
||||
public void renderCommonWithStack(ItemStack item) {
|
||||
GL11.glTranslated(0, 0.25, 0);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
PlushieType type = EnumUtil.grabEnumSafely(PlushieType.class, item.getItemDamage());
|
||||
|
||||
switch(type) {
|
||||
case NONE: break;
|
||||
case YOMI: GL11.glScaled(1.25, 1.25, 1.25); break;
|
||||
case NUMBERNINE: GL11.glTranslated(0, 0.25, 0.25); GL11.glScaled(1.25, 1.25, 1.25); break;
|
||||
}
|
||||
renderPlushie(type);
|
||||
}};
|
||||
}
|
||||
}
|
||||
@ -13,7 +13,6 @@ import com.hbm.util.EnumUtil;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -28,7 +27,6 @@ public class RenderSnowglobe extends TileEntitySpecialRenderer implements IItemR
|
||||
public static final ResourceLocation socket = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe.png");
|
||||
public static final ResourceLocation glass = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe_glass.png");
|
||||
public static final ResourceLocation features = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe_features.png");
|
||||
public static RenderBlocks renderer = new RenderBlocks();
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) {
|
||||
|
||||
@ -13,6 +13,7 @@ import com.hbm.blocks.generic.BlockGlyphidSpawner.TileEntityGlpyhidSpawner;
|
||||
import com.hbm.blocks.generic.BlockLoot.TileEntityLoot;
|
||||
import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre;
|
||||
import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal;
|
||||
import com.hbm.blocks.generic.BlockPlushie.TileEntityPlushie;
|
||||
import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe;
|
||||
import com.hbm.blocks.generic.PartEmitter.TileEntityPartEmitter;
|
||||
import com.hbm.blocks.machine.BlockICF.TileEntityBlockICF;
|
||||
@ -206,6 +207,7 @@ public class TileMappings {
|
||||
put(TileEntityPedestal.class, "tileentity_ntm_pedestal");
|
||||
put(TileEntityBobble.class, "tileentity_ntm_bobblehead");
|
||||
put(TileEntitySnowglobe.class, "tileentity_ntm_snowglobe");
|
||||
put(TileEntityPlushie.class, "tileentity_ntm_plushie");
|
||||
put(TileEntityEmitter.class, "tileentity_ntm_emitter");
|
||||
|
||||
put(TileEntityDoorGeneric.class, "tileentity_ntm_door");
|
||||
|
||||
@ -197,9 +197,8 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int slot, ItemStack stack) {
|
||||
|
||||
//automatically prohibit any stacked item, items can only be added one by one
|
||||
if(stack.stackSize > 1)
|
||||
return false;
|
||||
//automatically prohibit stacked container items
|
||||
if(stack.stackSize > 1 && stack.getItem().hasContainerItem(stack)) return false;
|
||||
|
||||
//only allow insertion for the nine recipe slots
|
||||
if(slot < 10 || slot > 18)
|
||||
@ -209,6 +208,10 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen
|
||||
if(slots[slot - 10] == null)
|
||||
return false;
|
||||
|
||||
//do not permit total stacking beyond 4 items
|
||||
if(slots[slot] != null && slots[slot].stackSize + stack.stackSize > 4) return false;
|
||||
if(stack.stackSize > 4) return false;
|
||||
|
||||
//let's find all slots that this item could potentially go in
|
||||
List<Integer> validSlots = new ArrayList();
|
||||
for(int i = 0; i < 9; i++) {
|
||||
@ -354,5 +357,6 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen
|
||||
inv.setInventorySlotContents(slot, new ItemStack(Item.getItemById(nbt.getInteger("id")), 1, nbt.getInteger("meta")));
|
||||
nextMode(slot);
|
||||
tile.getWorldObj().markTileEntityChunkModified(tile.xCoord, tile.yCoord, tile.zCoord, tile);
|
||||
updateTemplateGrid();
|
||||
}
|
||||
}
|
||||
|
||||
@ -44,7 +44,7 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen
|
||||
public static final int usageBase = 500;
|
||||
public int usage;
|
||||
public int progress;
|
||||
public static final int processTimeBase = 200;
|
||||
public static final int processTimeBase = 100;
|
||||
public int processTime;
|
||||
|
||||
public FluidTank tank;
|
||||
|
||||
@ -42,7 +42,7 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement
|
||||
public static final int usageBase = 500;
|
||||
public int usage;
|
||||
public int progress;
|
||||
public static final int processTimeBase = 200;
|
||||
public static final int processTimeBase = 100;
|
||||
public int processTime;
|
||||
|
||||
public FluidTank tank;
|
||||
|
||||
@ -4535,6 +4535,7 @@ tile.plant_tall.cd4.name=Senf-Weide (Reif)
|
||||
tile.plant_tall.weed.name=Hanf
|
||||
tile.plasma.name=Plasma
|
||||
tile.plasma_heater.name=Plasmaerhitzer
|
||||
tile.plushie.name=%s Plüschfigur
|
||||
tile.pole_satellite_receiver.name=Satellitenschüssel
|
||||
tile.pole_top.name=Antennenspitze
|
||||
tile.press_preheater.name=Presse-Vorheizer
|
||||
|
||||
@ -5614,6 +5614,7 @@ tile.plant_tall.cd4.name=Mustard Willow (Mature)
|
||||
tile.plant_tall.weed.name=Hemp
|
||||
tile.plasma.name=Plasma
|
||||
tile.plasma_heater.name=Plasma Heater
|
||||
tile.plushie.name=%s Plushie
|
||||
tile.pole_satellite_receiver.name=Satellite Dish
|
||||
tile.pole_top.name=Antenna Top
|
||||
tile.press_preheater.name=Burner Press Preheater
|
||||
|
||||
487
src/main/resources/assets/hbm/models/trinkets/yomi.obj
Normal file
487
src/main/resources/assets/hbm/models/trinkets/yomi.obj
Normal file
@ -0,0 +1,487 @@
|
||||
# Blender v2.79 (sub 0) OBJ File: 'yomi.blend'
|
||||
# www.blender.org
|
||||
o Plane
|
||||
v -0.250000 1.187500 0.250000
|
||||
v 0.250000 1.187500 0.250000
|
||||
v -0.250000 1.187500 -0.250000
|
||||
v 0.250000 1.187500 -0.250000
|
||||
v 0.250000 1.000000 0.187500
|
||||
v 0.250000 1.000000 -0.187500
|
||||
v 0.125000 0.750000 0.187500
|
||||
v 0.125000 0.750000 -0.187500
|
||||
v 0.125000 1.000000 0.187500
|
||||
v 0.125000 1.000000 -0.187500
|
||||
v 0.156375 0.937500 -0.031250
|
||||
v 0.156375 0.937500 0.031250
|
||||
v 0.156375 1.000000 0.031250
|
||||
v 0.156375 1.000000 -0.031250
|
||||
v 0.125000 0.875000 -0.031250
|
||||
v 0.125000 0.875000 -0.187500
|
||||
v 0.125000 1.000000 -0.031250
|
||||
v 0.187500 1.000000 -0.031250
|
||||
v 0.187500 1.000000 -0.187500
|
||||
v 0.187500 0.875000 -0.187500
|
||||
v 0.187500 0.875000 -0.031250
|
||||
v 0.125000 1.000000 0.031250
|
||||
v 0.125000 0.875000 0.031250
|
||||
v 0.125000 0.875000 0.187500
|
||||
v 0.187500 0.875000 0.187500
|
||||
v 0.187500 0.875000 0.031250
|
||||
v 0.187500 1.000000 0.031250
|
||||
v 0.187500 1.000000 0.187500
|
||||
v -0.187500 0.750000 0.187500
|
||||
v -0.187500 0.750000 -0.187500
|
||||
v -0.250000 0.625000 -0.250000
|
||||
v -0.250000 0.625000 0.250000
|
||||
v 0.250000 0.625000 0.250000
|
||||
v 0.250000 0.625000 0.187500
|
||||
v 0.250000 0.625000 -0.250000
|
||||
v 0.250000 0.625000 -0.187500
|
||||
v -0.187500 0.625000 -0.187500
|
||||
v -0.187500 0.625000 0.187500
|
||||
v -0.218750 0.750000 -0.218750
|
||||
v -0.218750 0.750000 0.218750
|
||||
v 0.218750 0.750000 0.218750
|
||||
v 0.218750 0.750000 -0.218750
|
||||
v -0.218750 0.562500 0.218750
|
||||
v 0.218750 0.562500 0.218750
|
||||
v 0.218750 0.562500 -0.218750
|
||||
v -0.218750 0.562500 -0.218750
|
||||
v -0.187500 0.562500 -0.187500
|
||||
v -0.187500 0.562500 0.187500
|
||||
v 0.187500 0.562500 0.187500
|
||||
v 0.187500 0.562500 -0.187500
|
||||
v -0.187500 0.062500 0.250000
|
||||
v 0.187500 0.062500 0.250000
|
||||
v 0.187500 0.062500 -0.250000
|
||||
v -0.187500 0.062500 -0.250000
|
||||
v -0.031250 1.187500 0.218750
|
||||
v 0.031250 1.187500 0.218750
|
||||
v -0.031250 1.187500 0.031250
|
||||
v 0.031250 1.187500 0.031250
|
||||
v -0.031250 1.812500 0.031250
|
||||
v -0.031250 1.812500 0.218750
|
||||
v 0.031250 1.812500 0.218750
|
||||
v 0.031250 1.812500 0.031250
|
||||
v -0.031250 1.187500 -0.031250
|
||||
v 0.031250 1.187500 -0.031250
|
||||
v -0.031250 1.187500 -0.218750
|
||||
v 0.031250 1.187500 -0.218750
|
||||
v -0.031250 1.812500 -0.218750
|
||||
v -0.031250 1.812500 -0.031250
|
||||
v 0.031250 1.812500 -0.031250
|
||||
v 0.031250 1.812500 -0.218750
|
||||
v -0.062500 0.000000 -0.062500
|
||||
v 0.437500 0.000000 -0.062500
|
||||
v -0.062500 0.000000 -0.187500
|
||||
v 0.437500 0.000000 -0.187500
|
||||
v -0.062500 0.125000 -0.187500
|
||||
v -0.062500 0.125000 -0.062500
|
||||
v 0.437500 0.125000 -0.062500
|
||||
v 0.437500 0.125000 -0.187500
|
||||
v 0.562500 0.000000 -0.062500
|
||||
v 0.562500 0.000000 -0.187500
|
||||
v 0.562500 0.312500 -0.062500
|
||||
v 0.562500 0.312500 -0.187500
|
||||
v -0.062500 0.000000 0.187500
|
||||
v 0.437500 0.000000 0.187500
|
||||
v -0.062500 0.000000 0.062500
|
||||
v 0.437500 0.000000 0.062500
|
||||
v -0.062500 0.125000 0.062500
|
||||
v -0.062500 0.125000 0.187500
|
||||
v 0.437500 0.125000 0.187500
|
||||
v 0.437500 0.125000 0.062500
|
||||
v 0.562500 0.000000 0.187500
|
||||
v 0.562500 0.000000 0.062500
|
||||
v 0.562500 0.312500 0.187500
|
||||
v 0.562500 0.312500 0.062500
|
||||
v -0.062500 0.562500 -0.099112
|
||||
v -0.062500 0.650888 -0.187500
|
||||
v -0.062500 0.208947 -0.452665
|
||||
v -0.062500 0.297335 -0.541053
|
||||
v 0.062500 0.562500 -0.099112
|
||||
v 0.062500 0.650888 -0.187500
|
||||
v 0.062500 0.208947 -0.452665
|
||||
v 0.062500 0.297335 -0.541053
|
||||
v -0.062500 0.562500 0.099112
|
||||
v -0.062500 0.650888 0.187500
|
||||
v -0.062500 0.208947 0.452665
|
||||
v -0.062500 0.297335 0.541053
|
||||
v 0.062500 0.562500 0.099112
|
||||
v 0.062500 0.650888 0.187500
|
||||
v 0.062500 0.208947 0.452665
|
||||
v 0.062500 0.297335 0.541053
|
||||
v 0.135000 0.859375 0.078125
|
||||
v 0.135000 0.765625 0.078125
|
||||
v 0.135000 0.859375 -0.078125
|
||||
v 0.135000 0.765625 -0.078125
|
||||
vt 0.166667 0.809524
|
||||
vt 0.333333 1.000000
|
||||
vt 0.166667 1.000000
|
||||
vt 0.166667 0.595238
|
||||
vt 0.187500 0.738095
|
||||
vt 0.000000 0.595238
|
||||
vt 0.000000 0.809524
|
||||
vt 0.333333 0.595238
|
||||
vt 0.500000 0.809524
|
||||
vt 0.333333 0.809524
|
||||
vt 0.312500 0.690476
|
||||
vt 0.312500 0.738095
|
||||
vt 0.166667 0.809524
|
||||
vt 0.166667 0.857143
|
||||
vt 0.062500 0.857143
|
||||
vt 0.187500 0.595238
|
||||
vt 0.187500 0.690476
|
||||
vt 0.395833 0.523810
|
||||
vt 0.416667 0.547619
|
||||
vt 0.395833 0.547619
|
||||
vt 0.447917 0.547619
|
||||
vt 0.500000 0.523810
|
||||
vt 0.500000 0.547619
|
||||
vt 0.312500 0.428571
|
||||
vt 0.333333 0.404762
|
||||
vt 0.437500 0.595238
|
||||
vt 0.416667 0.547619
|
||||
vt 0.437500 0.547619
|
||||
vt 0.187500 0.476190
|
||||
vt 0.312500 0.595238
|
||||
vt 0.500000 0.595238
|
||||
vt 0.447917 0.595238
|
||||
vt 0.395833 0.547619
|
||||
vt 0.416667 0.595238
|
||||
vt 0.395833 0.595238
|
||||
vt 0.333333 0.547619
|
||||
vt 0.385417 0.523810
|
||||
vt 0.385417 0.547619
|
||||
vt 0.385417 0.595238
|
||||
vt 0.333333 0.595238
|
||||
vt 0.479167 0.809524
|
||||
vt 0.437500 0.857143
|
||||
vt 0.333333 0.809524
|
||||
vt 0.312500 0.476190
|
||||
vt 0.500000 0.595238
|
||||
vt 0.666667 0.809524
|
||||
vt 0.291667 0.238095
|
||||
vt 0.145833 0.404762
|
||||
vt 0.145833 0.238095
|
||||
vt 0.145833 0.000000
|
||||
vt 0.291667 0.166667
|
||||
vt 0.145833 0.166667
|
||||
vt -0.000000 0.238095
|
||||
vt 0.437500 0.166667
|
||||
vt 0.437500 0.238095
|
||||
vt 0.583333 0.166667
|
||||
vt 0.583333 0.238095
|
||||
vt 0.833333 0.333333
|
||||
vt 0.708333 0.476190
|
||||
vt 0.708333 0.333333
|
||||
vt 0.687500 0.000000
|
||||
vt 0.854167 0.142857
|
||||
vt 0.687500 0.142857
|
||||
vt 0.833333 0.476190
|
||||
vt 0.687500 0.666667
|
||||
vt 0.541667 0.333333
|
||||
vt 1.000000 0.476190
|
||||
vt 0.354167 0.476190
|
||||
vt 0.437500 0.500000
|
||||
vt 0.354167 0.500000
|
||||
vt 0.354167 0.476190
|
||||
vt 0.437500 0.500000
|
||||
vt 0.354167 0.500000
|
||||
vt 0.458333 0.238095
|
||||
vt 0.437500 0.476190
|
||||
vt 0.437500 0.238095
|
||||
vt 0.354167 0.238095
|
||||
vt 0.333333 0.476190
|
||||
vt 0.333333 0.238095
|
||||
vt 0.427083 0.238095
|
||||
vt 0.364583 0.476190
|
||||
vt 0.364583 0.238095
|
||||
vt 0.531250 0.238095
|
||||
vt 0.468750 0.476190
|
||||
vt 0.468750 0.238095
|
||||
vt 0.458333 0.238095
|
||||
vt 0.437500 0.476190
|
||||
vt 0.437500 0.238095
|
||||
vt 0.354167 0.238095
|
||||
vt 0.333333 0.476190
|
||||
vt 0.333333 0.238095
|
||||
vt 0.427083 0.238095
|
||||
vt 0.364583 0.476190
|
||||
vt 0.364583 0.238095
|
||||
vt 0.531250 0.238095
|
||||
vt 0.468750 0.476190
|
||||
vt 0.468750 0.238095
|
||||
vt 0.791667 0.857143
|
||||
vt 0.833333 0.666667
|
||||
vt 0.833333 0.857143
|
||||
vt 0.708333 0.666667
|
||||
vt 0.750000 0.857143
|
||||
vt 0.708333 0.857143
|
||||
vt 0.750000 0.666667
|
||||
vt 0.791667 0.666667
|
||||
vt 0.666667 0.666667
|
||||
vt 0.666667 0.857143
|
||||
vt 0.833333 0.714286
|
||||
vt 0.875000 0.666667
|
||||
vt 0.875000 0.785714
|
||||
vt 0.708333 0.904762
|
||||
vt 0.750000 0.904762
|
||||
vt 0.916667 0.666667
|
||||
vt 0.875000 0.857143
|
||||
vt 0.916667 0.785714
|
||||
vt 0.916667 0.857143
|
||||
vt 0.916667 0.619048
|
||||
vt 0.875000 0.619048
|
||||
vt 0.958333 0.714286
|
||||
vt 0.958333 0.666667
|
||||
vt 0.833333 0.857143
|
||||
vt 0.791667 0.666667
|
||||
vt 0.791667 0.857143
|
||||
vt 0.750000 0.666667
|
||||
vt 0.708333 0.857143
|
||||
vt 0.750000 0.857143
|
||||
vt 0.666667 0.857143
|
||||
vt 0.708333 0.666667
|
||||
vt 0.666667 0.666667
|
||||
vt 0.958333 0.714286
|
||||
vt 0.916667 0.666667
|
||||
vt 0.916667 0.785714
|
||||
vt 0.750000 0.904762
|
||||
vt 0.708333 0.904762
|
||||
vt 0.875000 0.666667
|
||||
vt 0.916667 0.857143
|
||||
vt 0.875000 0.785714
|
||||
vt 0.875000 0.857143
|
||||
vt 0.875000 0.619048
|
||||
vt 0.916667 0.619048
|
||||
vt 0.833333 0.714286
|
||||
vt 0.833333 0.666667
|
||||
vt 0.125000 0.595238
|
||||
vt 0.166667 0.404762
|
||||
vt 0.166667 0.595238
|
||||
vt 0.083333 0.357143
|
||||
vt 0.041667 0.404762
|
||||
vt 0.041667 0.357143
|
||||
vt 0.083333 0.404762
|
||||
vt 0.041667 0.595238
|
||||
vt -0.000000 0.595238
|
||||
vt -0.000000 0.404762
|
||||
vt 0.125000 0.404762
|
||||
vt 0.083333 0.595238
|
||||
vt 0.166667 0.404762
|
||||
vt 0.125000 0.595238
|
||||
vt 0.166667 0.595238
|
||||
vt 0.041667 0.404762
|
||||
vt 0.083333 0.357143
|
||||
vt 0.041667 0.357143
|
||||
vt 0.041667 0.595238
|
||||
vt 0.083333 0.404762
|
||||
vt -0.000000 0.595238
|
||||
vt -0.000000 0.404762
|
||||
vt 0.083333 0.595238
|
||||
vt 0.125000 0.404762
|
||||
vt 0.187500 0.428571
|
||||
vt 0.166667 0.404762
|
||||
vt 0.500000 0.523810
|
||||
vt 0.604167 0.595238
|
||||
vt 0.500000 0.595238
|
||||
vt 0.187500 0.595238
|
||||
vt 0.062500 0.952381
|
||||
vt 0.020833 0.952381
|
||||
vt 0.020833 0.809524
|
||||
vt 0.416667 0.523810
|
||||
vt 0.447917 0.523810
|
||||
vt 0.312500 0.595238
|
||||
vt 0.416667 0.595238
|
||||
vt 0.416667 0.547619
|
||||
vt 0.333333 0.523810
|
||||
vt 0.479167 0.952381
|
||||
vt 0.437500 0.952381
|
||||
vt 0.333333 0.857143
|
||||
vt 0.666667 0.595238
|
||||
vt 0.291667 0.404762
|
||||
vt 0.291667 0.000000
|
||||
vt 0.000000 0.166667
|
||||
vt 0.854167 0.000000
|
||||
vt 0.854167 0.666667
|
||||
vt 0.541667 0.476190
|
||||
vt 1.000000 0.333333
|
||||
vt 0.458333 0.476190
|
||||
vt 0.427083 0.476190
|
||||
vt 0.531250 0.476190
|
||||
vt 0.458333 0.476190
|
||||
vt 0.427083 0.476190
|
||||
vt 0.531250 0.476190
|
||||
vt 0.958333 0.666667
|
||||
vt 0.604167 0.523810
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.1240 0.9923
|
||||
vn 0.0000 0.1240 -0.9923
|
||||
vn -0.8321 0.5547 0.0000
|
||||
vn 0.0000 -0.7071 -0.7071
|
||||
vn 0.0000 -0.7071 0.7071
|
||||
vn 0.0000 0.7071 -0.7071
|
||||
vn 0.0000 0.7071 0.7071
|
||||
s off
|
||||
f 2/1/1 3/2/1 1/3/1
|
||||
f 33/4/2 5/5/2 2/1/2
|
||||
f 32/6/3 2/1/3 1/7/3
|
||||
f 35/8/4 3/9/4 4/10/4
|
||||
f 5/5/5 10/11/5 6/12/5
|
||||
f 38/13/4 29/14/4 7/15/4
|
||||
f 7/16/2 10/11/2 9/17/2
|
||||
f 12/18/2 14/19/2 13/20/2
|
||||
f 21/21/5 16/22/5 20/23/5
|
||||
f 35/8/5 37/24/5 31/25/5
|
||||
f 18/26/3 15/27/3 21/28/3
|
||||
f 29/29/5 8/30/5 7/16/5
|
||||
f 21/21/2 19/31/2 18/32/2
|
||||
f 26/33/4 22/34/4 27/35/4
|
||||
f 25/36/5 23/37/5 26/38/5
|
||||
f 25/36/2 27/39/2 28/40/2
|
||||
f 36/41/3 8/42/3 37/43/3
|
||||
f 29/29/2 37/24/2 30/44/2
|
||||
f 31/45/6 1/46/6 3/9/6
|
||||
f 42/47/1 40/48/1 41/49/1
|
||||
f 43/50/5 45/51/5 44/52/5
|
||||
f 40/53/3 44/52/3 41/49/3
|
||||
f 41/49/2 45/51/2 42/47/2
|
||||
f 42/47/4 46/54/4 39/55/4
|
||||
f 39/55/6 43/56/6 40/57/6
|
||||
f 50/58/1 48/59/1 49/60/1
|
||||
f 51/61/5 53/62/5 52/63/5
|
||||
f 47/64/6 51/65/6 48/59/6
|
||||
f 48/59/7 52/66/7 49/60/7
|
||||
f 49/60/2 53/62/2 50/58/2
|
||||
f 50/58/8 54/67/8 47/64/8
|
||||
f 69/68/1 67/69/1 68/70/1
|
||||
f 61/71/1 59/72/1 60/73/1
|
||||
f 57/74/4 62/75/4 58/76/4
|
||||
f 56/77/3 60/78/3 55/79/3
|
||||
f 58/80/2 61/81/2 56/82/2
|
||||
f 55/83/6 59/84/6 57/85/6
|
||||
f 65/86/4 70/87/4 66/88/4
|
||||
f 64/89/3 68/90/3 63/91/3
|
||||
f 66/92/2 69/93/2 64/94/2
|
||||
f 63/95/6 67/96/6 65/97/6
|
||||
f 73/98/5 72/99/5 71/100/5
|
||||
f 77/101/1 75/102/1 76/103/1
|
||||
f 73/98/4 78/104/4 74/105/4
|
||||
f 72/106/3 76/103/3 71/107/3
|
||||
f 77/108/3 79/109/3 81/110/3
|
||||
f 71/111/6 75/102/6 73/112/6
|
||||
f 80/113/2 81/110/2 79/109/2
|
||||
f 77/114/9 82/115/9 78/116/9
|
||||
f 74/117/5 79/109/5 72/118/5
|
||||
f 78/119/4 80/113/4 74/120/4
|
||||
f 85/121/5 84/122/5 83/123/5
|
||||
f 89/124/1 87/125/1 88/126/1
|
||||
f 85/127/4 90/128/4 86/129/4
|
||||
f 84/122/3 88/126/3 83/123/3
|
||||
f 89/130/3 91/131/3 93/132/3
|
||||
f 83/133/6 87/125/6 85/134/6
|
||||
f 92/135/2 93/132/2 91/131/2
|
||||
f 89/136/9 94/137/9 90/138/9
|
||||
f 86/139/5 91/131/5 84/140/5
|
||||
f 90/141/4 92/135/4 86/142/4
|
||||
f 96/143/6 97/144/6 95/145/6
|
||||
f 98/146/10 101/147/10 97/148/10
|
||||
f 102/149/2 99/150/2 101/147/2
|
||||
f 101/147/11 95/151/11 97/152/11
|
||||
f 98/153/12 100/154/12 102/149/12
|
||||
f 105/155/6 104/156/6 103/157/6
|
||||
f 109/158/11 106/159/11 105/160/11
|
||||
f 107/161/2 110/162/2 109/158/2
|
||||
f 103/163/10 109/158/10 105/164/10
|
||||
f 108/165/13 106/166/13 110/162/13
|
||||
f 6/12/2 2/1/2 5/5/2
|
||||
f 6/12/2 35/8/2 4/10/2
|
||||
f 38/167/5 33/4/5 32/168/5
|
||||
f 38/167/5 31/25/5 37/24/5
|
||||
f 112/169/2 113/170/2 111/171/2
|
||||
f 2/1/1 4/10/1 3/2/1
|
||||
f 33/4/2 34/172/2 5/5/2
|
||||
f 32/6/3 33/4/3 2/1/3
|
||||
f 35/8/4 31/45/4 3/9/4
|
||||
f 5/5/5 9/17/5 10/11/5
|
||||
f 9/173/4 5/174/4 7/15/4
|
||||
f 5/174/4 34/175/4 7/15/4
|
||||
f 34/175/4 38/13/4 7/15/4
|
||||
f 7/16/2 8/30/2 10/11/2
|
||||
f 12/18/2 11/176/2 14/19/2
|
||||
f 21/21/5 15/177/5 16/22/5
|
||||
f 35/8/5 36/178/5 37/24/5
|
||||
f 18/26/3 17/179/3 15/27/3
|
||||
f 29/29/5 30/44/5 8/30/5
|
||||
f 21/21/2 20/23/2 19/31/2
|
||||
f 26/33/4 23/180/4 22/34/4
|
||||
f 25/36/5 24/181/5 23/37/5
|
||||
f 25/36/2 26/38/2 27/39/2
|
||||
f 36/41/3 6/182/3 8/42/3
|
||||
f 6/182/3 10/183/3 8/42/3
|
||||
f 8/42/3 30/184/3 37/43/3
|
||||
f 29/29/2 38/167/2 37/24/2
|
||||
f 31/45/6 32/185/6 1/46/6
|
||||
f 42/47/1 39/186/1 40/48/1
|
||||
f 43/50/5 46/187/5 45/51/5
|
||||
f 40/53/3 43/188/3 44/52/3
|
||||
f 41/49/2 44/52/2 45/51/2
|
||||
f 42/47/4 45/51/4 46/54/4
|
||||
f 39/55/6 46/54/6 43/56/6
|
||||
f 50/58/1 47/64/1 48/59/1
|
||||
f 51/61/5 54/189/5 53/62/5
|
||||
f 47/64/6 54/190/6 51/65/6
|
||||
f 48/59/7 51/191/7 52/66/7
|
||||
f 49/60/2 52/63/2 53/62/2
|
||||
f 50/58/8 53/192/8 54/67/8
|
||||
f 69/68/1 70/87/1 67/69/1
|
||||
f 61/71/1 62/75/1 59/72/1
|
||||
f 57/74/4 59/193/4 62/75/4
|
||||
f 56/77/3 61/71/3 60/78/3
|
||||
f 58/80/2 62/194/2 61/81/2
|
||||
f 55/83/6 60/195/6 59/84/6
|
||||
f 65/86/4 67/196/4 70/87/4
|
||||
f 64/89/3 69/68/3 68/90/3
|
||||
f 66/92/2 70/197/2 69/93/2
|
||||
f 63/95/6 68/198/6 67/96/6
|
||||
f 73/98/5 74/105/5 72/99/5
|
||||
f 77/101/1 78/104/1 75/102/1
|
||||
f 73/98/4 75/102/4 78/104/4
|
||||
f 72/106/3 77/101/3 76/103/3
|
||||
f 77/108/3 72/99/3 79/109/3
|
||||
f 71/111/6 76/103/6 75/102/6
|
||||
f 80/113/2 82/115/2 81/110/2
|
||||
f 77/114/9 81/110/9 82/115/9
|
||||
f 74/117/5 80/113/5 79/109/5
|
||||
f 78/119/4 82/115/4 80/113/4
|
||||
f 85/121/5 86/142/5 84/122/5
|
||||
f 89/124/1 90/128/1 87/125/1
|
||||
f 85/127/4 87/125/4 90/128/4
|
||||
f 84/122/3 89/124/3 88/126/3
|
||||
f 89/130/3 84/199/3 91/131/3
|
||||
f 83/133/6 88/126/6 87/125/6
|
||||
f 92/135/2 94/137/2 93/132/2
|
||||
f 89/136/9 93/132/9 94/137/9
|
||||
f 86/139/5 92/135/5 91/131/5
|
||||
f 90/141/4 94/137/4 92/135/4
|
||||
f 96/143/6 98/153/6 97/144/6
|
||||
f 98/146/10 102/149/10 101/147/10
|
||||
f 102/149/2 100/154/2 99/150/2
|
||||
f 101/147/11 99/150/11 95/151/11
|
||||
f 98/153/12 96/143/12 100/154/12
|
||||
f 105/155/6 106/166/6 104/156/6
|
||||
f 109/158/11 110/162/11 106/159/11
|
||||
f 107/161/2 108/165/2 110/162/2
|
||||
f 103/163/10 107/161/10 109/158/10
|
||||
f 108/165/13 104/156/13 106/166/13
|
||||
f 6/12/2 4/10/2 2/1/2
|
||||
f 6/12/2 36/178/2 35/8/2
|
||||
f 38/167/5 34/172/5 33/4/5
|
||||
f 38/167/5 32/168/5 31/25/5
|
||||
f 112/169/2 114/200/2 113/170/2
|
||||
@ -64,6 +64,7 @@
|
||||
"block.fusionReactorRunning": {"category": "block", "sounds": [{"name": "block/fusionReactorSpin", "stream": false}]},
|
||||
"block.fel": {"category": "block", "sounds": [{"name": "block/fel", "stream": false}]},
|
||||
"block.hephaestusRunning": {"category": "block", "sounds": [{"name": "block/hephaestusRunning", "stream": false}]},
|
||||
"block.squeakyToy": {"category": "block", "sounds": [{"name": "block/squeakyToy", "stream": false}]},
|
||||
|
||||
"door.TransitionSealOpen": {"category": "block", "sounds": [{"name": "block/door/transition_seal_open", "stream": true}]},
|
||||
"door.wghStart": {"category": "block", "sounds": [{"name": "block/door/wgh_start", "stream": true}]},
|
||||
|
||||
BIN
src/main/resources/assets/hbm/sounds/block/squeakyToy.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/squeakyToy.ogg
Normal file
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
BIN
src/main/resources/assets/hbm/textures/models/trinkets/yomi.png
Normal file
BIN
src/main/resources/assets/hbm/textures/models/trinkets/yomi.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 716 B |
Loading…
x
Reference in New Issue
Block a user