1.12: ModBlocks class renamed to ModContent. Mineal Smelter released. Window sub models stripped (issue #19). Block opacity of full blocks fixed (issue #50). Factory Dropper continuous mode added (issue #51). Experimental features added.
This commit is contained in:
parent
64186ec813
commit
462e14166c
104 changed files with 3812 additions and 158 deletions
|
@ -2,7 +2,7 @@
|
|||
org.gradle.daemon=false
|
||||
org.gradle.jvmargs=-Xmx8G
|
||||
version_minecraft=1.14.4
|
||||
version_forge_minecraft=1.14.4-28.0.81
|
||||
version_forge_minecraft=1.14.4-28.0.100
|
||||
version_fml_mappings=20190719-1.14.3
|
||||
version_jei=1.14.4:6.0.0.10
|
||||
version_engineersdecor=1.0.11-b3
|
||||
version_engineersdecor=1.0.12-b2
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
|
||||
"1.14.4": {
|
||||
"1.0.12-b1": "[U] Updated to Forge 1.14.4-28.0.93/20190719-1.14.3.\n[M] Logo location fixed.",
|
||||
"1.0.11-b3": "[U] Updated to Forge 1.14.4-28.0.81/20190719-1.14.3.\n[F] Adapted recipe condition to Forge version (issue #49).",
|
||||
"1.0.11-b2": "[U] JEI dependency update 1.14.4:6.0.0.10.\n[F] Fixed creative ghost block issue (issue #48).\n[M] Updated ru_ru lang file (Shellyoung, PR#47).",
|
||||
"1.0.11-b1": "[A] Added Steel Table\n[A] Added Treated Wood Side Table\n[A] Added Exit Sign\n[A] Added Steel Floor Grating\n[M] Sign orientation fixed, only blocked vertical placement.",
|
||||
|
@ -22,6 +23,6 @@
|
|||
},
|
||||
"promos": {
|
||||
"1.14.4-recommended": "",
|
||||
"1.14.4-latest": "1.0.11-b3"
|
||||
"1.14.4-latest": "1.0.12-b1"
|
||||
}
|
||||
}
|
|
@ -8,8 +8,18 @@ Mod sources for Minecraft version 1.14.3.
|
|||
- Compiled mod distribution channel is curseforge: https://www.curseforge.com/minecraft/mc-mods/engineers-decor/files.
|
||||
|
||||
----
|
||||
|
||||
## Version history
|
||||
|
||||
~ v1.0.12-b2 [U] Updated to Forge 1.14.4-28.0.100/20190719-1.14.3.
|
||||
[A] Small Solar Panel added.
|
||||
[M] Items fall through the Steel Floor Grating like in 1.12.2 version.
|
||||
[M] Factory Dropper: Added pulse/continuous mode in GUI (issue #51,
|
||||
thx Aristine for the CR).
|
||||
|
||||
- v1.0.12-b1 [U] Updated to Forge 1.14.4-28.0.93/20190719-1.14.3.
|
||||
[M] Logo location fixed.
|
||||
|
||||
- v1.0.11-b3 [U] Updated to Forge 1.14.4-28.0.81/20190719-1.14.3.
|
||||
[F] Adapted recipe condition to Forge version (issue #49).
|
||||
|
||||
|
|
|
@ -367,6 +367,12 @@ public class ModContent
|
|||
ModAuxiliaries.getPixeledAABB(1.1,0,1.1, 14.9,16,14.9)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_mineral_smelter"));
|
||||
|
||||
public static final BlockDecorSolarPanel SMALL_SOLAR_PANEL = (BlockDecorSolarPanel)(new BlockDecorSolarPanel(
|
||||
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_ELECTRICAL,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL),
|
||||
ModAuxiliaries.getPixeledAABB(0,0,0, 16,11.5,16)
|
||||
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_solar_panel"));
|
||||
|
||||
public static final BlockDecorPipeValve STRAIGHT_CHECK_VALVE = (BlockDecorPipeValve)(new BlockDecorPipeValve(
|
||||
BlockDecor.CFG_FACING_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT|BlockDecor.CFG_FLIP_PLACEMENT_SHIFTCLICK|BlockDecor.CFG_CUTOUT,
|
||||
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(2f, 15f).sound(SoundType.METAL),
|
||||
|
@ -442,6 +448,7 @@ public class ModContent
|
|||
SMALL_ELECTRICAL_FURNACE,
|
||||
SMALL_WASTE_INCINERATOR,
|
||||
SMALL_MINERAL_SMELTER,
|
||||
SMALL_SOLAR_PANEL,
|
||||
CLINKER_BRICK_BLOCK,
|
||||
CLINKER_BRICK_SLAB,
|
||||
CLINKER_BRICK_STAIRS,
|
||||
|
@ -550,6 +557,11 @@ public class ModContent
|
|||
.build(null)
|
||||
.setRegistryName(ModEngineersDecor.MODID, "te_small_mineral_smelter");
|
||||
|
||||
public static final TileEntityType<?> TET_SMALL_SOLAR_PANEL = TileEntityType.Builder
|
||||
.create(BlockDecorSolarPanel.BTileEntity::new, SMALL_SOLAR_PANEL)
|
||||
.build(null)
|
||||
.setRegistryName(ModEngineersDecor.MODID, "te_small_solar_panel");
|
||||
|
||||
|
||||
private static final TileEntityType<?> tile_entity_types[] = {
|
||||
TET_TREATED_WOOD_CRAFTING_TABLE,
|
||||
|
@ -559,7 +571,8 @@ public class ModContent
|
|||
TET_WASTE_INCINERATOR,
|
||||
TET_STRAIGHT_PIPE_VALVE,
|
||||
TET_PASSIVE_FLUID_ACCUMULATOR,
|
||||
TET_MINERAL_SMELTER
|
||||
TET_MINERAL_SMELTER,
|
||||
TET_SMALL_SOLAR_PANEL
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -170,10 +170,11 @@ public class BlockDecorDropper extends BlockDecorDirected
|
|||
public static final int MAX_DROP_COUNT = 32;
|
||||
public static final int DROP_PERIOD_OFFSET = 10;
|
||||
///
|
||||
public static final int DROPLOGIC_FILTER_ANDGATE = 0x1;
|
||||
public static final int DROPLOGIC_EXTERN_ANDGATE = 0x2;
|
||||
public static final int DROPLOGIC_SILENT_DROP = 0x4;
|
||||
public static final int DROPLOGIC_SILENT_OPEN = 0x8;
|
||||
public static final int DROPLOGIC_FILTER_ANDGATE = 0x01;
|
||||
public static final int DROPLOGIC_EXTERN_ANDGATE = 0x02;
|
||||
public static final int DROPLOGIC_SILENT_DROP = 0x04;
|
||||
public static final int DROPLOGIC_SILENT_OPEN = 0x08;
|
||||
public static final int DROPLOGIC_CONTINUOUS = 0x10;
|
||||
///
|
||||
private int filter_matches_[] = new int[CTRL_SLOTS_SIZE];
|
||||
private int open_timer_ = 0;
|
||||
|
@ -508,9 +509,11 @@ public class BlockDecorDropper extends BlockDecorDirected
|
|||
if((drop_timer_ > 0) && ((--drop_timer_) == 0)) markDirty();
|
||||
if(--tick_timer_ > 0) return;
|
||||
tick_timer_ = TICK_INTERVAL;
|
||||
final boolean continuous_mode = (drop_logic_ & DROPLOGIC_CONTINUOUS)!=0;
|
||||
boolean dirty = block_power_updated_;
|
||||
boolean redstone_trigger = (block_power_signal_ && block_power_updated_);
|
||||
boolean redstone_trigger = (block_power_signal_ && ((block_power_updated_) || (continuous_mode)));
|
||||
boolean filter_trigger;
|
||||
boolean filter_defined = false;
|
||||
boolean trigger;
|
||||
// Trigger logic
|
||||
{
|
||||
|
@ -518,9 +521,9 @@ public class BlockDecorDropper extends BlockDecorDirected
|
|||
for(int i=INPUT_SLOTS_FIRST; i<(INPUT_SLOTS_FIRST+INPUT_SLOTS_SIZE); ++i) {
|
||||
if(stacks_.get(i).getCount() >= drop_count_) { droppable_slot_found = true; break; }
|
||||
}
|
||||
int filter_nset = 0;
|
||||
// From filters / inventory checks
|
||||
{
|
||||
int filter_nset = 0;
|
||||
int last_filter_matches_[] = filter_matches_.clone();
|
||||
boolean slot_assigned = false;
|
||||
for(int ci=0; ci<CTRL_SLOTS_SIZE; ++ci) {
|
||||
|
@ -546,12 +549,13 @@ public class BlockDecorDropper extends BlockDecorDirected
|
|||
if(filter_matches_[i] > 1) ++nmatched;
|
||||
if(filter_matches_[i] != last_filter_matches_[i]) dirty = true;
|
||||
}
|
||||
filter_trigger = ((filter_nset >0) && (nmatched > 0));
|
||||
filter_defined = (filter_nset > 0);
|
||||
filter_trigger = ((filter_nset > 0) && (nmatched > 0));
|
||||
if(((drop_logic_ & DROPLOGIC_FILTER_ANDGATE) != 0) && (nmatched != filter_nset)) filter_trigger = false;
|
||||
}
|
||||
// gates
|
||||
{
|
||||
if(filter_nset > 0) {
|
||||
if(filter_defined) {
|
||||
trigger = ((drop_logic_ & DROPLOGIC_EXTERN_ANDGATE) != 0) ? (filter_trigger && redstone_trigger) : (filter_trigger || redstone_trigger);
|
||||
} else {
|
||||
trigger = redstone_trigger;
|
||||
|
@ -818,7 +822,7 @@ public class BlockDecorDropper extends BlockDecorDirected
|
|||
} else if(isPointInRegion(114, 51, 9, 9, mouseX, mouseY)) {
|
||||
container.onGuiAction("manual_rstrigger", 1);
|
||||
} else if(isPointInRegion(162, 66, 7, 9, mouseX, mouseY)) {
|
||||
container.onGuiAction("manual_trigger", 1);
|
||||
container.onGuiAction("drop_logic", container.field(5) ^ BTileEntity.DROPLOGIC_CONTINUOUS);
|
||||
} else if(isPointInRegion(132, 66, 9, 9, mouseX, mouseY)) {
|
||||
container.onGuiAction("drop_logic", container.field(5) ^ BTileEntity.DROPLOGIC_FILTER_ANDGATE);
|
||||
} else if(isPointInRegion(148, 66, 9, 9, mouseX, mouseY)) {
|
||||
|
@ -887,8 +891,10 @@ public class BlockDecorDropper extends BlockDecorDirected
|
|||
{
|
||||
int filter_gate_offset = ((container.field(5) & BTileEntity.DROPLOGIC_FILTER_ANDGATE) != 0) ? 11 : 0;
|
||||
int extern_gate_offset = ((container.field(5) & BTileEntity.DROPLOGIC_EXTERN_ANDGATE) != 0) ? 11 : 0;
|
||||
int pulse_mode_offset = ((container.fields_[5] & BTileEntity.DROPLOGIC_CONTINUOUS ) != 0) ? 10 : 0;
|
||||
blit(x0+132, y0+66, 179+filter_gate_offset, 66, 9, 9);
|
||||
blit(x0+148, y0+66, 179+extern_gate_offset, 66, 9, 9);
|
||||
blit(x0+162, y0+66, 200+pulse_mode_offset, 66, 9, 9);
|
||||
}
|
||||
// drop timer running indicator
|
||||
{
|
||||
|
|
|
@ -8,16 +8,22 @@
|
|||
*/
|
||||
package wile.engineersdecor.blocks;
|
||||
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.item.ItemEntity;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.util.math.shapes.VoxelShape;
|
||||
import net.minecraft.util.math.shapes.VoxelShapes;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
|
||||
public class BlockDecorFloorGrating extends BlockDecor
|
||||
{
|
||||
|
||||
public BlockDecorFloorGrating(long config, Block.Properties builder, final AxisAlignedBB unrotatedAABB)
|
||||
{ super(config, builder); }
|
||||
|
||||
|
@ -25,31 +31,40 @@ public class BlockDecorFloorGrating extends BlockDecor
|
|||
public boolean propagatesSkylightDown(BlockState state, IBlockReader reader, BlockPos pos)
|
||||
{ return true; }
|
||||
|
||||
@Override
|
||||
public void onLanded(IBlockReader world, Entity entity)
|
||||
{
|
||||
if(!(entity instanceof ItemEntity)) {
|
||||
super.onLanded(world, entity);
|
||||
} else {
|
||||
entity.setMotion(0, -0.1,0);
|
||||
entity.setPositionAndUpdate(entity.posX, entity.posY-0.3, entity.posZ);
|
||||
}
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void addCollisionBoxToList(IBlockState state, World world, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, @Nullable Entity entity, boolean isActualState)
|
||||
// { if(!(entity instanceof EntityItem)) super.addCollisionBoxToList(state, world, pos, entityBox, collidingBoxes, entity, isActualState); }
|
||||
//
|
||||
// @Override
|
||||
// public void onFallenUpon(World world, BlockPos pos, Entity entity, float fallDistance)
|
||||
// {
|
||||
// if(!(entity instanceof EntityItem)) {
|
||||
// entity.fall(fallDistance, 1.0F);
|
||||
// } else {
|
||||
// entity.setVelocity(0,-0.2,0);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onEntityCollision(World world, BlockPos pos, IBlockState state, Entity entity)
|
||||
// {
|
||||
// if(!(entity instanceof EntityItem)) return;
|
||||
// if((entity.posY-pos.getY()) > 0.7) {
|
||||
// if(entity.motionY > -0.2) entity.motionY = -0.2;
|
||||
// entity.setVelocity(0,-0.1,0);
|
||||
// entity.setPositionAndUpdate(entity.posX, entity.posY-0.3, entity.posZ);
|
||||
// } else {
|
||||
// entity.setVelocity(0,entity.motionY,0);
|
||||
// }
|
||||
// }
|
||||
@Override
|
||||
public void onFallenUpon(World world, BlockPos pos, Entity entity, float fallDistance)
|
||||
{
|
||||
if(!(entity instanceof ItemEntity)) {
|
||||
super.onFallenUpon(world, pos, entity, fallDistance);
|
||||
} else {
|
||||
entity.setMotion(0, -0.1,0);
|
||||
entity.setPositionAndUpdate(entity.posX, entity.posY-0.3, entity.posZ);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity)
|
||||
{
|
||||
if(!(entity instanceof ItemEntity)) return;
|
||||
if((entity.posY-pos.getY()) < 0.7) return;
|
||||
double vy = MathHelper.clamp(entity.getMotion().y, -1.2, -0.2);
|
||||
entity.setMotion(0, vy, 0);
|
||||
entity.setPositionAndUpdate(pos.getX()+0.5, entity.posY-0.3, pos.getZ()+0.5);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VoxelShape getCollisionShape(BlockState state, IBlockReader world, BlockPos pos, ISelectionContext context)
|
||||
{ return (context.getEntity() instanceof ItemEntity) ? VoxelShapes.empty() : super.getCollisionShape(state, world, pos, context); }
|
||||
}
|
||||
|
|
|
@ -0,0 +1,141 @@
|
|||
/*
|
||||
* @file BlockDecorDirected.java
|
||||
* @author Stefan Wilhelm (wile)
|
||||
* @copyright (C) 2019 Stefan Wilhelm
|
||||
* @license MIT (see https://opensource.org/licenses/MIT)
|
||||
*
|
||||
* Smaller (cutout) block with a defined facing.
|
||||
*/
|
||||
package wile.engineersdecor.blocks;
|
||||
|
||||
import wile.engineersdecor.ModContent;
|
||||
import wile.engineersdecor.ModEngineersDecor;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.tileentity.ITickableTileEntity;
|
||||
import net.minecraft.tileentity.TileEntityType;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.item.BlockItemUseContext;
|
||||
import net.minecraft.state.IntegerProperty;
|
||||
import net.minecraft.state.StateContainer;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraftforge.energy.CapabilityEnergy;
|
||||
import net.minecraftforge.energy.IEnergyStorage;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
|
||||
public class BlockDecorSolarPanel extends BlockDecor
|
||||
{
|
||||
public static final IntegerProperty EXPOSITION = IntegerProperty.create("exposition", 0, 4);
|
||||
|
||||
public BlockDecorSolarPanel(long config, Block.Properties builder, final AxisAlignedBB unrotatedAABB)
|
||||
{
|
||||
super(config, builder, unrotatedAABB);
|
||||
setDefaultState(stateContainer.getBaseState().with(EXPOSITION, 1));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder)
|
||||
{ super.fillStateContainer(builder); builder.add(EXPOSITION); }
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public BlockState getStateForPlacement(BlockItemUseContext context)
|
||||
{ return getDefaultState(); }
|
||||
|
||||
@Override
|
||||
public boolean hasTileEntity(BlockState state)
|
||||
{ return true; }
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public TileEntity createTileEntity(BlockState state, IBlockReader world)
|
||||
{ return new BlockDecorSolarPanel.BTileEntity(); }
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------
|
||||
// Tile entity
|
||||
//--------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
public static class BTileEntity extends TileEntity implements ITickableTileEntity
|
||||
{
|
||||
public static final int DEFAULT_PEAK_POWER = 45;
|
||||
public static final int TICK_INTERVAL = 8;
|
||||
public static final int ACCUMULATION_INTERVAL = 4;
|
||||
private static final Direction transfer_directions_[] = {Direction.DOWN, Direction.EAST, Direction.SOUTH, Direction.WEST, Direction.NORTH };
|
||||
private static int peak_power_per_tick_ = DEFAULT_PEAK_POWER;
|
||||
private static int max_power_storage_ = 10000;
|
||||
private int tick_timer_ = 0;
|
||||
private int recalc_timer_ = 0;
|
||||
private int accumulated_power_ = 0;
|
||||
|
||||
public static void on_config(int peak_power_per_tick)
|
||||
{
|
||||
peak_power_per_tick_ = peak_power_per_tick;
|
||||
ModEngineersDecor.logger().info("Config small solar panel: Peak production:" + peak_power_per_tick_ + "/tick");
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
public BTileEntity()
|
||||
{ this(ModContent.TET_SMALL_SOLAR_PANEL); }
|
||||
|
||||
public BTileEntity(TileEntityType<?> te_type)
|
||||
{ super(te_type); }
|
||||
|
||||
public void readnbt(CompoundNBT nbt, boolean update_packet)
|
||||
{ accumulated_power_ = nbt.getInt("energy"); }
|
||||
|
||||
protected void writenbt(CompoundNBT nbt, boolean update_packet)
|
||||
{ nbt.putInt("energy", accumulated_power_); }
|
||||
|
||||
// TileEntity ------------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public void read(CompoundNBT nbt)
|
||||
{ super.read(nbt); readnbt(nbt, false); }
|
||||
|
||||
@Override
|
||||
public CompoundNBT write(CompoundNBT nbt)
|
||||
{ super.write(nbt); writenbt(nbt, false); return nbt; }
|
||||
|
||||
@Override
|
||||
public void tick()
|
||||
{
|
||||
if((world.isRemote) || (--tick_timer_ > 0)) return;
|
||||
tick_timer_ = TICK_INTERVAL;
|
||||
if(!world.canBlockSeeSky(pos)) { tick_timer_ = TICK_INTERVAL * 5; return; }
|
||||
if(accumulated_power_ > 0) {
|
||||
for(int i=0; (i<transfer_directions_.length) && (accumulated_power_>0); ++i) {
|
||||
final Direction f = transfer_directions_[i];
|
||||
TileEntity te = world.getTileEntity(pos.offset(f));
|
||||
if(te==null) continue;
|
||||
IEnergyStorage es = te.getCapability(CapabilityEnergy.ENERGY, f.getOpposite()).orElse(null);
|
||||
if((es==null) || (!es.canReceive())) continue;
|
||||
accumulated_power_ = MathHelper.clamp(accumulated_power_-es.receiveEnergy(accumulated_power_, false),0, accumulated_power_);
|
||||
}
|
||||
}
|
||||
if(--recalc_timer_ > 0) return;
|
||||
recalc_timer_ = ACCUMULATION_INTERVAL + ((int)(Math.random()+.5));
|
||||
BlockState state = world.getBlockState(pos);
|
||||
int theta = ((((int)(world.getCelestialAngleRadians(1f) * (180.0/Math.PI)))+90) % 360);
|
||||
int e = 2;
|
||||
if(theta > 340) e = 2;
|
||||
else if(theta < 45) e = 0;
|
||||
else if(theta < 80) e = 1;
|
||||
else if(theta < 100) e = 2;
|
||||
else if(theta < 135) e = 3;
|
||||
else if(theta < 190) e = 4;
|
||||
BlockState nstate = state.with(EXPOSITION, e);
|
||||
if(nstate != state) world.setBlockState(pos, nstate, 1|2);
|
||||
final double sb = world.getSunBrightness(1f);
|
||||
double rf = Math.abs(1.0-(((double)Math.abs(MathHelper.clamp(theta, 0, 180)-90))/90));
|
||||
rf = Math.sqrt(rf) * sb * ((TICK_INTERVAL*ACCUMULATION_INTERVAL)+2) * peak_power_per_tick_;
|
||||
accumulated_power_ = Math.min(accumulated_power_+(int)rf, max_power_storage_);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -17,6 +17,7 @@ import net.minecraftforge.common.ForgeConfigSpec;
|
|||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import wile.engineersdecor.blocks.*;
|
||||
import wile.engineersdecor.blocks.BlockDecorSolarPanel.BTileEntity;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
|
@ -131,6 +132,7 @@ public class ModConfig
|
|||
public final ForgeConfigSpec.IntValue furnace_boost_energy_consumption;
|
||||
public final ForgeConfigSpec.IntValue e_furnace_speed_percent;
|
||||
public final ForgeConfigSpec.IntValue e_furnace_power_consumption;
|
||||
public final ForgeConfigSpec.IntValue small_solar_panel_peak_production;
|
||||
public final ForgeConfigSpec.BooleanValue e_furnace_automatic_pulling;
|
||||
public final ForgeConfigSpec.DoubleValue chair_mob_sitting_probability_percent;
|
||||
public final ForgeConfigSpec.DoubleValue chair_mob_standup_probability_percent;
|
||||
|
@ -364,6 +366,14 @@ public class ModConfig
|
|||
.comment("Defines if the electrical furnace automatically pulls items from an inventory at the input side." +
|
||||
"The config value can be changed on-the-fly for tuning.")
|
||||
.define("e_furnace_automatic_pulling", false);
|
||||
small_solar_panel_peak_production = builder
|
||||
.translation(ModEngineersDecor.MODID + ".config.small_solar_panel_peak_production")
|
||||
.comment("Defines the peak power production (at noon) of the Small Solar Panel. " +
|
||||
"Note that the agerage power is much less, as no power is produced at all during the night, " +
|
||||
"and the power curve is nonlinear rising/falling during the day. Bad weather conditions also " +
|
||||
"decrease the production. The config value can be changed on-the-fly for tuning.")
|
||||
.defineInRange("small_solar_panel_peak_production", BTileEntity.DEFAULT_PEAK_POWER, 10, 256);
|
||||
|
||||
builder.pop();
|
||||
}
|
||||
}
|
||||
|
@ -471,6 +481,7 @@ public class ModConfig
|
|||
BlockDecorCraftingTable.on_config(COMMON.without_crafting_table_history.get(), false, COMMON.with_crafting_quickmove_buttons.get());
|
||||
BlockDecorPipeValve.on_config(COMMON.pipevalve_max_flowrate.get(), COMMON.pipevalve_redstone_gain.get());
|
||||
BlockDecorFurnaceElectrical.BTileEntity.on_config(COMMON.e_furnace_speed_percent.get(), COMMON.e_furnace_power_consumption.get(), COMMON.e_furnace_automatic_pulling.get());
|
||||
BlockDecorSolarPanel.BTileEntity.on_config(COMMON.small_solar_panel_peak_production.get());
|
||||
without_crafting_table = isOptedOut(ModContent.TREATED_WOOD_CRAFTING_TABLE);
|
||||
immersiveengineering_installed = ModAuxiliaries.isModLoaded("immersiveengineering");
|
||||
{
|
||||
|
|
|
@ -5,7 +5,6 @@ loaderVersion="[25,)"
|
|||
issueTrackerURL="https://github.com/stfwi/engineers-decor/issues/"
|
||||
|
||||
[[mods]]
|
||||
|
||||
modId="engineersdecor"
|
||||
version="${file.jarVersion}"
|
||||
displayName="Engineer's Decor"
|
||||
|
@ -14,12 +13,12 @@ authors="wilechaote"
|
|||
credits="BluSunrize, malte0811, et al., the Forge Smiths, the Modders of the World."
|
||||
updateJSONURL="https://raw.githubusercontent.com/stfwi/engineers-decor/develop/meta/update.json"
|
||||
displayURL="https://github.com/stfwi/engineers-decor/"
|
||||
logoFile="engineersdecor.png" # Double check: A file name (in the root of the mod JAR) containing a logo for display
|
||||
logoFile="logo.png"
|
||||
|
||||
[[dependencies.engineersdecor]]
|
||||
modId="forge"
|
||||
mandatory=true
|
||||
versionRange="[25,)" #mandatory
|
||||
versionRange="[28.0.81,)"
|
||||
ordering="NONE"
|
||||
side="BOTH"
|
||||
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"variants": {
|
||||
"exposition=0": { "model": "engineersdecor:block/device/small_solar_panel_model_exp0" },
|
||||
"exposition=1": { "model": "engineersdecor:block/device/small_solar_panel_model_exp1" },
|
||||
"exposition=2": { "model": "engineersdecor:block/device/small_solar_panel_model_exp2" },
|
||||
"exposition=3": { "model": "engineersdecor:block/device/small_solar_panel_model_exp3" },
|
||||
"exposition=4": { "model": "engineersdecor:block/device/small_solar_panel_model_exp4" }
|
||||
}
|
||||
}
|
|
@ -151,6 +151,8 @@
|
|||
"block.engineersdecor.factory_dropper.help": "§6Dropper suitable for advanced factory automation.§r Has twelve round-robin selected slots. Drop force, angle, stack size, and cool-down delay adjustable in the GUI. Three stack compare slots with logical AND or OR can be used as internal trigger source. Internal trigger can be AND'ed or OR'ed with the external redstone signal trigger. Trigger simulation buttons for testing. Pre-opens shutter door when internal trigger conditions are met. Drops all matching stacks simultaneously. Click on all elements in the GUI to see how it works.",
|
||||
"block.engineersdecor.small_mineral_smelter": "Small Mineral Melting Furnace",
|
||||
"block.engineersdecor.small_mineral_smelter.help": "§6High temperature, high insulation electrical stone melting furnace.§r\n Heats up mineral blocks to magma blocks, and finally to lava. Due to the miniturized device size the process is rather inefficient - much time and energy is needed to liquefy a stone block.",
|
||||
"block.engineersdecor.small_solar_panel": "Small Solar Panel",
|
||||
"block.engineersdecor.small_solar_panel.help": "§6Produces a small amount of power when exposed to sunlight.§r\n Useful for charging LF capacitors in remote systems with low consumption. The internal charge pump circuit accumulates and frequently transfers RF. Production depends on day time and the weather.",
|
||||
"block.engineersdecor.sign_decor": "Sign Plate (Engineer's decor)",
|
||||
"block.engineersdecor.sign_decor.help": "§6This should not be craftable or visible in JEI. Used for creative tab and screenshots.",
|
||||
"block.engineersdecor.sign_hotwire": "Sign \"Caution Hot Wire\"",
|
||||
|
|
|
@ -150,6 +150,7 @@
|
|||
"block.engineersdecor.factory_dropper": "Фабричный выбрасыватель",
|
||||
"block.engineersdecor.factory_dropper.help": "§6Выбрасыватель подходит для продвинутой автоматизации производства.§r Имеет 12 выборочных слотов. Сила броска, угол, размер стопки и задержка настраиваются в GUI. 3 слота сравнения стека с логическим И или ИЛИ могут использоваться в качестве внутреннего источника запуска. Внутренний триггер может быть И или ИЛИ с внешним триггерным сигналом красного камня. Триггерные кнопки симуляции для тестирования. Предварительно открывает дверцу затвора, когда выполняются условия внутреннего запуска. Сбрасывает все соответствующие стеки одновременно. Нажмите на все элементы в GUI, чтобы увидеть, как это работает.",
|
||||
"block.engineersdecor.small_mineral_smelter": "Small Mineral Melting Furnace",
|
||||
"block.engineersdecor.small_solar_panel": "Small Solar Panel",
|
||||
"block.engineersdecor.sign_decor": "Табличка с надписью (Логотип Engineer's decor)",
|
||||
"block.engineersdecor.sign_decor.help": "§Это не должно быть крафтовым или видимым в JEI. Используется для творческой вкладки и скриншотов.",
|
||||
"block.engineersdecor.sign_hotwire": "Знак «Осторожно, под напряжением»",
|
||||
|
|
|
@ -112,6 +112,7 @@
|
|||
"block.engineersdecor.passive_fluid_accumulator": "Passive Fluid Accumulator",
|
||||
"block.engineersdecor.factory_dropper": "Factory Dropper",
|
||||
"block.engineersdecor.small_mineral_smelter": "Small Mineral Melting Furnace",
|
||||
"block.engineersdecor.small_solar_panel": "Small Solar Panel",
|
||||
"block.engineersdecor.sign_decor": "Sign Plate (Engineer's decor)",
|
||||
"block.engineersdecor.sign_hotwire": "Sign \"Caution Hot Wire\"",
|
||||
"block.engineersdecor.sign_mindstep": "Sign \"Mind The Step\"",
|
||||
|
|
|
@ -0,0 +1,196 @@
|
|||
{
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"2": "engineersdecor:block/device/small_solar_panel_side",
|
||||
"m": "engineersdecor:block/device/small_solar_panel_parts",
|
||||
"particle": "engineersdecor:block/device/small_solar_panel_parts",
|
||||
"tb": "engineersdecor:block/device/small_solar_panel_topbottom",
|
||||
"p": "engineersdecor:block/device/small_solar_panel_panel"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 2, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"east": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#2"},
|
||||
"south": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"west": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#tb"},
|
||||
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#tb"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1, 9.5, 0],
|
||||
"to": [15, 11.5, 16],
|
||||
"rotation": {"angle": -45, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 4.5, 15, 6.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [0, 4.5, 16, 6.5], "texture": "#m"},
|
||||
"south": {"uv": [1, 4.5, 15, 6.5], "texture": "#m"},
|
||||
"west": {"uv": [0, 4.5, 16, 6.5], "texture": "#m"},
|
||||
"up": {"uv": [1, 0, 15, 16], "texture": "#p"},
|
||||
"down": {"uv": [1, 0, 15, 16], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6, 2, 11],
|
||||
"to": [10, 8, 13],
|
||||
"faces": {
|
||||
"north": {"uv": [6, 8, 10, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 8, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [6, 8, 10, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 8, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [6, 11, 10, 13], "texture": "#m"},
|
||||
"down": {"uv": [6, 3, 10, 5], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 5.5, 9],
|
||||
"to": [9.5, 9.5, 11],
|
||||
"rotation": {"angle": -45, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 6.5, 9.5, 10.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [5, 6.5, 7, 10.5], "texture": "#m"},
|
||||
"south": {"uv": [6.5, 6.5, 9.5, 10.5], "texture": "#m"},
|
||||
"west": {"uv": [9, 6.5, 11, 10.5], "texture": "#m"},
|
||||
"up": {"uv": [6.5, 9, 9.5, 11], "texture": "#m"},
|
||||
"down": {"uv": [6.5, 5, 9.5, 7], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5, 9, 7],
|
||||
"to": [11, 9.5, 9],
|
||||
"rotation": {"angle": -45, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [5, 6.5, 11, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [7, 6.5, 9, 7], "texture": "#m"},
|
||||
"south": {"uv": [5, 6.5, 11, 7], "texture": "#m"},
|
||||
"west": {"uv": [7, 6.5, 9, 7], "texture": "#m"},
|
||||
"up": {"uv": [5, 7, 11, 9], "texture": "#m"},
|
||||
"down": {"uv": [5, 7, 11, 9], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 9, 3],
|
||||
"to": [5, 9.5, 13],
|
||||
"rotation": {"angle": -45, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [11, 6.5, 14, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"south": {"uv": [2, 6.5, 5, 7], "texture": "#m"},
|
||||
"west": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"up": {"uv": [2, 3, 5, 13], "texture": "#m"},
|
||||
"down": {"uv": [2, 3, 5, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11, 9, 3],
|
||||
"to": [14, 9.5, 13],
|
||||
"rotation": {"angle": -45, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 6.5, 5, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"south": {"uv": [11, 6.5, 14, 7], "texture": "#m"},
|
||||
"west": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"up": {"uv": [11, 3, 14, 13], "texture": "#m"},
|
||||
"down": {"uv": [11, 3, 14, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 5.5, 5],
|
||||
"to": [9.5, 9.5, 7],
|
||||
"rotation": {"angle": -45, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 6.5, 9.5, 10.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [9, 6.5, 11, 10.5], "texture": "#m"},
|
||||
"south": {"uv": [6.5, 6.5, 9.5, 10.5], "texture": "#m"},
|
||||
"west": {"uv": [5, 6.5, 7, 10.5], "texture": "#m"},
|
||||
"up": {"uv": [6.5, 5, 9.5, 7], "texture": "#m"},
|
||||
"down": {"uv": [6.5, 9, 9.5, 11], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6, 2, 3],
|
||||
"to": [10, 8, 5],
|
||||
"faces": {
|
||||
"north": {"uv": [6, 8, 10, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 8, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [6, 8, 10, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 8, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [6, 3, 10, 5], "texture": "#m"},
|
||||
"down": {"uv": [6, 11, 10, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 2, 3],
|
||||
"to": [6, 3, 5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 13, 14, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [2, 13, 6, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [2, 3, 6, 5], "texture": "#m"},
|
||||
"down": {"uv": [2, 11, 6, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10, 2, 3],
|
||||
"to": [14, 3, 5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 13, 6, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [10, 13, 14, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [10, 3, 14, 5], "texture": "#m"},
|
||||
"down": {"uv": [10, 11, 14, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10, 2, 11],
|
||||
"to": [14, 3, 13],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 13, 6, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [10, 13, 14, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [10, 11, 14, 13], "texture": "#m"},
|
||||
"down": {"uv": [10, 3, 14, 5], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 2, 11],
|
||||
"to": [6, 3, 13],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 13, 14, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [2, 13, 6, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [2, 11, 6, 13], "texture": "#m"},
|
||||
"down": {"uv": [2, 3, 6, 5], "texture": "#m"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [85, 3, -10],
|
||||
"translation": [1.75, -0.75, -2.25],
|
||||
"scale": [0.35, 0.35, 0.35]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, -0.75, 0],
|
||||
"scale": [0.2, 0.2, 0.2]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 225, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"fixed": {
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,196 @@
|
|||
{
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"2": "engineersdecor:block/device/small_solar_panel_side",
|
||||
"m": "engineersdecor:block/device/small_solar_panel_parts",
|
||||
"particle": "engineersdecor:block/device/small_solar_panel_parts",
|
||||
"tb": "engineersdecor:block/device/small_solar_panel_topbottom",
|
||||
"p": "engineersdecor:block/device/small_solar_panel_panel"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 2, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"east": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#2"},
|
||||
"south": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"west": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#tb"},
|
||||
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#tb"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1, 9.5, 0],
|
||||
"to": [15, 11.5, 16],
|
||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 4.5, 15, 6.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [0, 4.5, 16, 6.5], "texture": "#m"},
|
||||
"south": {"uv": [1, 4.5, 15, 6.5], "texture": "#m"},
|
||||
"west": {"uv": [0, 4.5, 16, 6.5], "texture": "#m"},
|
||||
"up": {"uv": [1, 0, 15, 16], "texture": "#p"},
|
||||
"down": {"uv": [1, 0, 15, 16], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6, 2, 11],
|
||||
"to": [10, 8, 13],
|
||||
"faces": {
|
||||
"north": {"uv": [6, 8, 10, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 8, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [6, 8, 10, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 8, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [6, 11, 10, 13], "texture": "#m"},
|
||||
"down": {"uv": [6, 3, 10, 5], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 5.5, 9],
|
||||
"to": [9.5, 9.5, 11],
|
||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 6.5, 9.5, 10.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [5, 6.5, 7, 10.5], "texture": "#m"},
|
||||
"south": {"uv": [6.5, 6.5, 9.5, 10.5], "texture": "#m"},
|
||||
"west": {"uv": [9, 6.5, 11, 10.5], "texture": "#m"},
|
||||
"up": {"uv": [6.5, 9, 9.5, 11], "texture": "#m"},
|
||||
"down": {"uv": [6.5, 5, 9.5, 7], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5, 9, 7],
|
||||
"to": [11, 9.5, 9],
|
||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [5, 6.5, 11, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [7, 6.5, 9, 7], "texture": "#m"},
|
||||
"south": {"uv": [5, 6.5, 11, 7], "texture": "#m"},
|
||||
"west": {"uv": [7, 6.5, 9, 7], "texture": "#m"},
|
||||
"up": {"uv": [5, 7, 11, 9], "texture": "#m"},
|
||||
"down": {"uv": [5, 7, 11, 9], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 9, 3],
|
||||
"to": [5, 9.5, 13],
|
||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [11, 6.5, 14, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"south": {"uv": [2, 6.5, 5, 7], "texture": "#m"},
|
||||
"west": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"up": {"uv": [2, 3, 5, 13], "texture": "#m"},
|
||||
"down": {"uv": [2, 3, 5, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11, 9, 3],
|
||||
"to": [14, 9.5, 13],
|
||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 6.5, 5, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"south": {"uv": [11, 6.5, 14, 7], "texture": "#m"},
|
||||
"west": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"up": {"uv": [11, 3, 14, 13], "texture": "#m"},
|
||||
"down": {"uv": [11, 3, 14, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 5.5, 5],
|
||||
"to": [9.5, 9.5, 7],
|
||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 6.5, 9.5, 10.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [9, 6.5, 11, 10.5], "texture": "#m"},
|
||||
"south": {"uv": [6.5, 6.5, 9.5, 10.5], "texture": "#m"},
|
||||
"west": {"uv": [5, 6.5, 7, 10.5], "texture": "#m"},
|
||||
"up": {"uv": [6.5, 5, 9.5, 7], "texture": "#m"},
|
||||
"down": {"uv": [6.5, 9, 9.5, 11], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6, 2, 3],
|
||||
"to": [10, 8, 5],
|
||||
"faces": {
|
||||
"north": {"uv": [6, 8, 10, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 8, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [6, 8, 10, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 8, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [6, 3, 10, 5], "texture": "#m"},
|
||||
"down": {"uv": [6, 11, 10, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 2, 3],
|
||||
"to": [6, 3, 5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 13, 14, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [2, 13, 6, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [2, 3, 6, 5], "texture": "#m"},
|
||||
"down": {"uv": [2, 11, 6, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10, 2, 3],
|
||||
"to": [14, 3, 5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 13, 6, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [10, 13, 14, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [10, 3, 14, 5], "texture": "#m"},
|
||||
"down": {"uv": [10, 11, 14, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10, 2, 11],
|
||||
"to": [14, 3, 13],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 13, 6, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [10, 13, 14, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [10, 11, 14, 13], "texture": "#m"},
|
||||
"down": {"uv": [10, 3, 14, 5], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 2, 11],
|
||||
"to": [6, 3, 13],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 13, 14, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [2, 13, 6, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [2, 11, 6, 13], "texture": "#m"},
|
||||
"down": {"uv": [2, 3, 6, 5], "texture": "#m"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [85, 3, -10],
|
||||
"translation": [1.75, -0.75, -2.25],
|
||||
"scale": [0.35, 0.35, 0.35]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, -0.75, 0],
|
||||
"scale": [0.2, 0.2, 0.2]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 225, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"fixed": {
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,196 @@
|
|||
{
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"2": "engineersdecor:block/device/small_solar_panel_side",
|
||||
"m": "engineersdecor:block/device/small_solar_panel_parts",
|
||||
"particle": "engineersdecor:block/device/small_solar_panel_parts",
|
||||
"tb": "engineersdecor:block/device/small_solar_panel_topbottom",
|
||||
"p": "engineersdecor:block/device/small_solar_panel_panel"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 2, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"east": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#2"},
|
||||
"south": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"west": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#tb"},
|
||||
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#tb"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1, 9.5, 0],
|
||||
"to": [15, 11.5, 16],
|
||||
"rotation": {"angle": 0, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 4.5, 15, 6.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [0, 4.5, 16, 6.5], "texture": "#m"},
|
||||
"south": {"uv": [1, 4.5, 15, 6.5], "texture": "#m"},
|
||||
"west": {"uv": [0, 4.5, 16, 6.5], "texture": "#m"},
|
||||
"up": {"uv": [1, 0, 15, 16], "texture": "#p"},
|
||||
"down": {"uv": [1, 0, 15, 16], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6, 2, 11],
|
||||
"to": [10, 8, 13],
|
||||
"faces": {
|
||||
"north": {"uv": [6, 8, 10, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 8, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [6, 8, 10, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 8, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [6, 11, 10, 13], "texture": "#m"},
|
||||
"down": {"uv": [6, 3, 10, 5], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 5.5, 9],
|
||||
"to": [9.5, 9.5, 11],
|
||||
"rotation": {"angle": 0, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 6.5, 9.5, 10.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [5, 6.5, 7, 10.5], "texture": "#m"},
|
||||
"south": {"uv": [6.5, 6.5, 9.5, 10.5], "texture": "#m"},
|
||||
"west": {"uv": [9, 6.5, 11, 10.5], "texture": "#m"},
|
||||
"up": {"uv": [6.5, 9, 9.5, 11], "texture": "#m"},
|
||||
"down": {"uv": [6.5, 5, 9.5, 7], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5, 9, 7],
|
||||
"to": [11, 9.5, 9],
|
||||
"rotation": {"angle": 0, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [5, 6.5, 11, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [7, 6.5, 9, 7], "texture": "#m"},
|
||||
"south": {"uv": [5, 6.5, 11, 7], "texture": "#m"},
|
||||
"west": {"uv": [7, 6.5, 9, 7], "texture": "#m"},
|
||||
"up": {"uv": [5, 7, 11, 9], "texture": "#m"},
|
||||
"down": {"uv": [5, 7, 11, 9], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 9, 3],
|
||||
"to": [5, 9.5, 13],
|
||||
"rotation": {"angle": 0, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [11, 6.5, 14, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"south": {"uv": [2, 6.5, 5, 7], "texture": "#m"},
|
||||
"west": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"up": {"uv": [2, 3, 5, 13], "texture": "#m"},
|
||||
"down": {"uv": [2, 3, 5, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11, 9, 3],
|
||||
"to": [14, 9.5, 13],
|
||||
"rotation": {"angle": 0, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 6.5, 5, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"south": {"uv": [11, 6.5, 14, 7], "texture": "#m"},
|
||||
"west": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"up": {"uv": [11, 3, 14, 13], "texture": "#m"},
|
||||
"down": {"uv": [11, 3, 14, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 5.5, 5],
|
||||
"to": [9.5, 9.5, 7],
|
||||
"rotation": {"angle": 0, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 6.5, 9.5, 10.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [9, 6.5, 11, 10.5], "texture": "#m"},
|
||||
"south": {"uv": [6.5, 6.5, 9.5, 10.5], "texture": "#m"},
|
||||
"west": {"uv": [5, 6.5, 7, 10.5], "texture": "#m"},
|
||||
"up": {"uv": [6.5, 5, 9.5, 7], "texture": "#m"},
|
||||
"down": {"uv": [6.5, 9, 9.5, 11], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6, 2, 3],
|
||||
"to": [10, 8, 5],
|
||||
"faces": {
|
||||
"north": {"uv": [6, 8, 10, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 8, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [6, 8, 10, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 8, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [6, 3, 10, 5], "texture": "#m"},
|
||||
"down": {"uv": [6, 11, 10, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 2, 3],
|
||||
"to": [6, 3, 5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 13, 14, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [2, 13, 6, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [2, 3, 6, 5], "texture": "#m"},
|
||||
"down": {"uv": [2, 11, 6, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10, 2, 3],
|
||||
"to": [14, 3, 5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 13, 6, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [10, 13, 14, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [10, 3, 14, 5], "texture": "#m"},
|
||||
"down": {"uv": [10, 11, 14, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10, 2, 11],
|
||||
"to": [14, 3, 13],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 13, 6, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [10, 13, 14, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [10, 11, 14, 13], "texture": "#m"},
|
||||
"down": {"uv": [10, 3, 14, 5], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 2, 11],
|
||||
"to": [6, 3, 13],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 13, 14, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [2, 13, 6, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [2, 11, 6, 13], "texture": "#m"},
|
||||
"down": {"uv": [2, 3, 6, 5], "texture": "#m"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [85, 3, -10],
|
||||
"translation": [1.75, -0.75, -2.25],
|
||||
"scale": [0.35, 0.35, 0.35]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, -0.75, 0],
|
||||
"scale": [0.2, 0.2, 0.2]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 225, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"fixed": {
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,196 @@
|
|||
{
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"2": "engineersdecor:block/device/small_solar_panel_side",
|
||||
"m": "engineersdecor:block/device/small_solar_panel_parts",
|
||||
"particle": "engineersdecor:block/device/small_solar_panel_parts",
|
||||
"tb": "engineersdecor:block/device/small_solar_panel_topbottom",
|
||||
"p": "engineersdecor:block/device/small_solar_panel_panel"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 2, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"east": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#2"},
|
||||
"south": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"west": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#tb"},
|
||||
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#tb"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1, 9.5, 0],
|
||||
"to": [15, 11.5, 16],
|
||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 4.5, 15, 6.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [0, 4.5, 16, 6.5], "texture": "#m"},
|
||||
"south": {"uv": [1, 4.5, 15, 6.5], "texture": "#m"},
|
||||
"west": {"uv": [0, 4.5, 16, 6.5], "texture": "#m"},
|
||||
"up": {"uv": [1, 0, 15, 16], "texture": "#p"},
|
||||
"down": {"uv": [1, 0, 15, 16], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6, 2, 11],
|
||||
"to": [10, 8, 13],
|
||||
"faces": {
|
||||
"north": {"uv": [6, 8, 10, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 8, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [6, 8, 10, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 8, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [6, 11, 10, 13], "texture": "#m"},
|
||||
"down": {"uv": [6, 3, 10, 5], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 5.5, 9],
|
||||
"to": [9.5, 9.5, 11],
|
||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 6.5, 9.5, 10.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [5, 6.5, 7, 10.5], "texture": "#m"},
|
||||
"south": {"uv": [6.5, 6.5, 9.5, 10.5], "texture": "#m"},
|
||||
"west": {"uv": [9, 6.5, 11, 10.5], "texture": "#m"},
|
||||
"up": {"uv": [6.5, 9, 9.5, 11], "texture": "#m"},
|
||||
"down": {"uv": [6.5, 5, 9.5, 7], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5, 9, 7],
|
||||
"to": [11, 9.5, 9],
|
||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [5, 6.5, 11, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [7, 6.5, 9, 7], "texture": "#m"},
|
||||
"south": {"uv": [5, 6.5, 11, 7], "texture": "#m"},
|
||||
"west": {"uv": [7, 6.5, 9, 7], "texture": "#m"},
|
||||
"up": {"uv": [5, 7, 11, 9], "texture": "#m"},
|
||||
"down": {"uv": [5, 7, 11, 9], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 9, 3],
|
||||
"to": [5, 9.5, 13],
|
||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [11, 6.5, 14, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"south": {"uv": [2, 6.5, 5, 7], "texture": "#m"},
|
||||
"west": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"up": {"uv": [2, 3, 5, 13], "texture": "#m"},
|
||||
"down": {"uv": [2, 3, 5, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11, 9, 3],
|
||||
"to": [14, 9.5, 13],
|
||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 6.5, 5, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"south": {"uv": [11, 6.5, 14, 7], "texture": "#m"},
|
||||
"west": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"up": {"uv": [11, 3, 14, 13], "texture": "#m"},
|
||||
"down": {"uv": [11, 3, 14, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 5.5, 5],
|
||||
"to": [9.5, 9.5, 7],
|
||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 6.5, 9.5, 10.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [9, 6.5, 11, 10.5], "texture": "#m"},
|
||||
"south": {"uv": [6.5, 6.5, 9.5, 10.5], "texture": "#m"},
|
||||
"west": {"uv": [5, 6.5, 7, 10.5], "texture": "#m"},
|
||||
"up": {"uv": [6.5, 5, 9.5, 7], "texture": "#m"},
|
||||
"down": {"uv": [6.5, 9, 9.5, 11], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6, 2, 3],
|
||||
"to": [10, 8, 5],
|
||||
"faces": {
|
||||
"north": {"uv": [6, 8, 10, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 8, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [6, 8, 10, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 8, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [6, 3, 10, 5], "texture": "#m"},
|
||||
"down": {"uv": [6, 11, 10, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 2, 3],
|
||||
"to": [6, 3, 5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 13, 14, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [2, 13, 6, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [2, 3, 6, 5], "texture": "#m"},
|
||||
"down": {"uv": [2, 11, 6, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10, 2, 3],
|
||||
"to": [14, 3, 5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 13, 6, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [10, 13, 14, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [10, 3, 14, 5], "texture": "#m"},
|
||||
"down": {"uv": [10, 11, 14, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10, 2, 11],
|
||||
"to": [14, 3, 13],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 13, 6, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [10, 13, 14, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [10, 11, 14, 13], "texture": "#m"},
|
||||
"down": {"uv": [10, 3, 14, 5], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 2, 11],
|
||||
"to": [6, 3, 13],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 13, 14, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [2, 13, 6, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [2, 11, 6, 13], "texture": "#m"},
|
||||
"down": {"uv": [2, 3, 6, 5], "texture": "#m"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [85, 3, -10],
|
||||
"translation": [1.75, -0.75, -2.25],
|
||||
"scale": [0.35, 0.35, 0.35]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, -0.75, 0],
|
||||
"scale": [0.2, 0.2, 0.2]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 225, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"fixed": {
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,196 @@
|
|||
{
|
||||
"parent": "block/cube",
|
||||
"textures": {
|
||||
"2": "engineersdecor:block/device/small_solar_panel_side",
|
||||
"m": "engineersdecor:block/device/small_solar_panel_parts",
|
||||
"particle": "engineersdecor:block/device/small_solar_panel_parts",
|
||||
"tb": "engineersdecor:block/device/small_solar_panel_topbottom",
|
||||
"p": "engineersdecor:block/device/small_solar_panel_panel"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 2, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"east": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#2"},
|
||||
"south": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"west": {"uv": [0, 14, 16, 16], "texture": "#2"},
|
||||
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#tb"},
|
||||
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#tb"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1, 9.5, 0],
|
||||
"to": [15, 11.5, 16],
|
||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 4.5, 15, 6.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [0, 4.5, 16, 6.5], "texture": "#m"},
|
||||
"south": {"uv": [1, 4.5, 15, 6.5], "texture": "#m"},
|
||||
"west": {"uv": [0, 4.5, 16, 6.5], "texture": "#m"},
|
||||
"up": {"uv": [1, 0, 15, 16], "texture": "#p"},
|
||||
"down": {"uv": [1, 0, 15, 16], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6, 2, 11],
|
||||
"to": [10, 8, 13],
|
||||
"faces": {
|
||||
"north": {"uv": [6, 8, 10, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 8, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [6, 8, 10, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 8, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [6, 11, 10, 13], "texture": "#m"},
|
||||
"down": {"uv": [6, 3, 10, 5], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 5.5, 9],
|
||||
"to": [9.5, 9.5, 11],
|
||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 6.5, 9.5, 10.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [5, 6.5, 7, 10.5], "texture": "#m"},
|
||||
"south": {"uv": [6.5, 6.5, 9.5, 10.5], "texture": "#m"},
|
||||
"west": {"uv": [9, 6.5, 11, 10.5], "texture": "#m"},
|
||||
"up": {"uv": [6.5, 9, 9.5, 11], "texture": "#m"},
|
||||
"down": {"uv": [6.5, 5, 9.5, 7], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5, 9, 7],
|
||||
"to": [11, 9.5, 9],
|
||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [5, 6.5, 11, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [7, 6.5, 9, 7], "texture": "#m"},
|
||||
"south": {"uv": [5, 6.5, 11, 7], "texture": "#m"},
|
||||
"west": {"uv": [7, 6.5, 9, 7], "texture": "#m"},
|
||||
"up": {"uv": [5, 7, 11, 9], "texture": "#m"},
|
||||
"down": {"uv": [5, 7, 11, 9], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 9, 3],
|
||||
"to": [5, 9.5, 13],
|
||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [11, 6.5, 14, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"south": {"uv": [2, 6.5, 5, 7], "texture": "#m"},
|
||||
"west": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"up": {"uv": [2, 3, 5, 13], "texture": "#m"},
|
||||
"down": {"uv": [2, 3, 5, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11, 9, 3],
|
||||
"to": [14, 9.5, 13],
|
||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 6.5, 5, 7], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"south": {"uv": [11, 6.5, 14, 7], "texture": "#m"},
|
||||
"west": {"uv": [3, 6.5, 13, 7], "texture": "#m"},
|
||||
"up": {"uv": [11, 3, 14, 13], "texture": "#m"},
|
||||
"down": {"uv": [11, 3, 14, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 5.5, 5],
|
||||
"to": [9.5, 9.5, 7],
|
||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 7, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6.5, 6.5, 9.5, 10.5], "rotation": 180, "texture": "#m"},
|
||||
"east": {"uv": [9, 6.5, 11, 10.5], "texture": "#m"},
|
||||
"south": {"uv": [6.5, 6.5, 9.5, 10.5], "texture": "#m"},
|
||||
"west": {"uv": [5, 6.5, 7, 10.5], "texture": "#m"},
|
||||
"up": {"uv": [6.5, 5, 9.5, 7], "texture": "#m"},
|
||||
"down": {"uv": [6.5, 9, 9.5, 11], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6, 2, 3],
|
||||
"to": [10, 8, 5],
|
||||
"faces": {
|
||||
"north": {"uv": [6, 8, 10, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 8, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [6, 8, 10, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 8, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [6, 3, 10, 5], "texture": "#m"},
|
||||
"down": {"uv": [6, 11, 10, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 2, 3],
|
||||
"to": [6, 3, 5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 13, 14, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [2, 13, 6, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [2, 3, 6, 5], "texture": "#m"},
|
||||
"down": {"uv": [2, 11, 6, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10, 2, 3],
|
||||
"to": [14, 3, 5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 13, 6, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"south": {"uv": [10, 13, 14, 14], "texture": "#2"},
|
||||
"west": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"up": {"uv": [10, 3, 14, 5], "texture": "#m"},
|
||||
"down": {"uv": [10, 11, 14, 13], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10, 2, 11],
|
||||
"to": [14, 3, 13],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 13, 6, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [10, 13, 14, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [10, 11, 14, 13], "texture": "#m"},
|
||||
"down": {"uv": [10, 3, 14, 5], "texture": "#m"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 2, 11],
|
||||
"to": [6, 3, 13],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 13, 14, 14], "rotation": 180, "texture": "#2"},
|
||||
"east": {"uv": [3, 13, 5, 14], "texture": "#m"},
|
||||
"south": {"uv": [2, 13, 6, 14], "texture": "#2"},
|
||||
"west": {"uv": [11, 13, 13, 14], "texture": "#m"},
|
||||
"up": {"uv": [2, 11, 6, 13], "texture": "#m"},
|
||||
"down": {"uv": [2, 3, 6, 5], "texture": "#m"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [85, 3, -10],
|
||||
"translation": [1.75, -0.75, -2.25],
|
||||
"scale": [0.35, 0.35, 0.35]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, -0.75, 0],
|
||||
"scale": [0.2, 0.2, 0.2]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 225, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"fixed": {
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{ "parent": "engineersdecor:block/device/small_solar_panel_model_exp0" }
|
Binary file not shown.
After Width: | Height: | Size: 539 B |
Binary file not shown.
After Width: | Height: | Size: 412 B |
Binary file not shown.
After Width: | Height: | Size: 282 B |
Binary file not shown.
After Width: | Height: | Size: 581 B |
Binary file not shown.
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "engineersdecor:optional",
|
||||
"result": "engineersdecor:small_solar_panel",
|
||||
"missing": ["immersiveengineering:metal_device1"]
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"QQQ",
|
||||
" S ",
|
||||
"SRS"
|
||||
],
|
||||
"key": {
|
||||
"Q": { "item": "minecraft:quartz" },
|
||||
"S": { "item": "minecraft:iron_ingot" },
|
||||
"R": { "item": "minecraft:redstone_block" }
|
||||
},
|
||||
"result": {
|
||||
"item": "engineersdecor:small_solar_panel"
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue