Release merge v1.0.11-mc1.12.2.

This commit is contained in:
stfwi 2019-08-31 14:38:15 +02:00
commit 82e69aaa2c
212 changed files with 2017 additions and 4499 deletions

View file

@ -101,5 +101,5 @@ dist: sanatize dist-check clean-all mod
@djs tasks.js dist
port-languages:
@echo "[1.12] Porting language files to 1.13/1.14 ..."
@echo "[1.12] Porting language files to 1.14 ..."
@djs tasks.js port-languages

View file

@ -4,4 +4,4 @@ org.gradle.jvmargs=-Xmx8G
version_minecraft=1.12.2
version_forge=14.23.5.2768
version_jei=4.10.0.198
version_engineersdecor=1.0.10
version_engineersdecor=1.0.11

View file

@ -1,6 +1,10 @@
{
"homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
"1.12.2": {
"1.0.11": "[R] Release based on v1.0.11-b3. Release-to-release changes: * Steel floor grating improvments. * Minor model box fixes. * Standalone recipes added. * Language updates.",
"1.0.11-b3": "[M] Added missing standalone recipes for pipe valves, passive fluid accumulator, and waste incinerator.",
"1.0.11-b2": "[F] Fixed Floor Grating issue, which could have caused a crash.\n[M] Lang update ru-ru (Shellyoung, PR #47).",
"1.0.11-b1": "[M] Lang update ru-ru (Shellyoung, PR #45).\n[F] Fixed bounding box of the Steel Table.\n[M] Steel Floor Frating: Items fall through.",
"1.0.10": "[R] Release based on v1.0.10-b2. Release-to-release changes: * Steel table added. * Steel floor grating added. * Treated wood side table added. * Exit Sign added. * Recipe fixes.",
"1.0.10-b2": "[A] Steel table added.\n[A] Steel floor grating added.",
"1.0.10-b1": "[A] Treated wood side table added.\n[F] Fixed recipe collision of Metal Rung Ladder (issue #37, thx ProsperCraft for reporting).\n[A] Added Exit Sign (texture design by J. Carver).",
@ -50,7 +54,7 @@
"1.0.0-b1": "[A] Initial structure.\n[A] Added clinker bricks and clinker brick stairs.\n[A] Added slag bricks and slag brick stairs.\n[A] Added metal rung ladder.\n[A] Added staggered metal steps ladder.\n[A] Added treated wood ladder.\n[A] Added treated wood pole.\n[A] Added treated wood table."
},
"promos": {
"1.12.2-recommended": "1.0.10",
"1.12.2-latest": "1.0.10"
"1.12.2-recommended": "1.0.11",
"1.12.2-latest": "1.0.11"
}
}

View file

@ -10,317 +10,335 @@ Mod sources for Minecraft version 1.12.2.
----
## Version history
-------------------------------------------------------------------
- v1.0.10 [R] Release based on v1.0.10-b2. Release-to-release changes:
* Steel table added.
* Steel floor grating added.
* Treated wood side table added.
* Exit Sign added.
* Recipe fixes.
-------------------------------------------------------------------
-------------------------------------------------------------------
- v1.0.11 [R] Release based on v1.0.11-b3. Release-to-release changes:
* Steel floor grating improvments.
* Minor model box fixes.
* Standalone recipes added.
* Language updates.
-------------------------------------------------------------------
- v1.0.10-b2 [A] Steel table added.
[A] Steel floor grating added.
- v1.0.11-b3 [M] Added missing standalone recipes for pipe valves, passive
fluid accumulator, and waste incinerator.
- v1.0.10-b1 [A] Treated wood side table added.
[F] Fixed recipe collision of Metal Rung Ladder (issue #37,
thx ProsperCraft for reporting).
[A] Added Exit Sign (texture design by J. Carver).
- v1.0.11-b2 [F] Fixed Floor Grating issue, which could have caused a crash.
[M] Lang update ru-ru (Shellyoung, PR #47).
-------------------------------------------------------------------
- v1.0.9 [R] Release based on v1.0.9-b3. Release-to-release changes:
* Slabs for clinker, concrete, slag bricks.
* Slab slices for sheet metals, treated wood, and concretes.
* Language updates.
* Block hardness adaptions.
* 1st/3rd person item model fixes.
* Furnace initialisation issue fixed.
-------------------------------------------------------------------
- v1.0.11-b1 [M] Lang update ru-ru (Shellyoung, PR #45).
[F] Fixed bounding box of the Steel Table.
[M] Steel Floor Frating: Items fall through.
- v1.0.9-b3 [A] Added missing recipes for slabs.
[A] Added slab slices for IE sheet metals, treated wood,
and concretes (stackable "quater-slabs").
[M] Updated 1st/3rd person item model rotations/translations.
[M] Hardness of valves and furni slightly increased.
-------------------------------------------------------------------
- v1.0.10 [R] Release based on v1.0.10-b2. Release-to-release changes:
* Steel table added.
* Steel floor grating added.
* Treated wood side table added.
* Exit Sign added.
* Recipe fixes.
-------------------------------------------------------------------
- v1.0.9-b2 [A] Added slabs for Clinker Brick, Slag Brick, Rebar Concrete,
and Stained Clinker. Texture variations like the base blocks.
Allow fast pick-up (see tooltip help or config).
[F] Fixed lab/electrical furnace initialisation issue (first item
inserted was smelted directly).
- v1.0.10-b2 [A] Steel table added.
[A] Steel floor grating added.
- v1.0.9-b1 [U] Lang file ru_ru updated (PR#31, yaroslav4167).
[M] Block hardness adaptions (issue #32).
- v1.0.10-b1 [A] Treated wood side table added.
[F] Fixed recipe collision of Metal Rung Ladder (issue #37,
thx ProsperCraft for reporting).
[A] Added Exit Sign (texture design by J. Carver).
-------------------------------------------------------------------
- v1.0.8 [R] Release based on v1.0.8-b2. Release-to-release changes:
* Added factory area sign.
* Added stained clinker.
* Config opt-out fixes, detailed feature selection possible now.
* Recipe adaptions and fixes.
* Lang files updated.
-------------------------------------------------------------------
[A] Added stained clinker brick block/stairs. Can be mixed with
"normal" clinkers.
[A] Added opt-out option for CTRL-SHIFT tooltips.
[M] Recipe condition requirements updated, recipes categorized.
-------------------------------------------------------------------
- v1.0.9 [R] Release based on v1.0.9-b3. Release-to-release changes:
* Slabs for clinker, concrete, slag bricks.
* Slab slices for sheet metals, treated wood, and concretes.
* Language updates.
* Block hardness adaptions.
* 1st/3rd person item model fixes.
* Furnace initialisation issue fixed.
-------------------------------------------------------------------
- v1.0.8-b2 [F] Config opt-out fixed (thx IronPiston for the report #30).
[A] Added opt-out config for detailed including/excluding
of features (using registry name wildcard matching).
- v1.0.9-b3 [A] Added missing recipes for slabs.
[A] Added slab slices for IE sheet metals, treated wood,
and concretes (stackable "quater-slabs").
[M] Updated 1st/3rd person item model rotations/translations.
[M] Hardness of valves and furni slightly increased.
- v1.0.8-b1 [A] Added "Factory area" sign.
[M] Electrical furnace recipe changed (hoppers to conveyors).
[A] Opt-out config options added.
[F] Lang file fixes for en_us (Angela, PR#29).
- v1.0.9-b2 [A] Added slabs for Clinker Brick, Slag Brick, Rebar Concrete,
and Stained Clinker. Texture variations like the base blocks.
Allow fast pick-up (see tooltip help or config).
[F] Fixed lab/electrical furnace initialisation issue (first item
inserted was smelted directly).
-------------------------------------------------------------------
- v1.0.7 [R] Release based on v1.0.7-b2. Release-to-release changes:
* Factory dropper added.
* Defense system warning sign added.
* Warning sign backgrounds adapted.
* Standalone recipes added.
* Lang files updated.
-------------------------------------------------------------------
[A] Added standalone recipes for signs, factory dropper, and
electrical furnace.
[M] Adapted "Caution" sign backgrounds to the yellow defense
system warning background.
- v1.0.9-b1 [U] Lang file ru_ru updated (PR#31, yaroslav4167).
[M] Block hardness adaptions (issue #32).
- v1.0.7-b2 [A] Added Defense System Warning sign (design by J. Carver).
[M] Factory dropper non-experimental now. GUI click area tuning.
"Fast drop" symbol replaced from arrow to dog icon (thx
overchoice for that icon).
[M] Lang files updated.
-------------------------------------------------------------------
- v1.0.8 [R] Release based on v1.0.8-b2. Release-to-release changes:
* Added factory area sign.
* Added stained clinker.
* Config opt-out fixes, detailed feature selection possible now.
* Recipe adaptions and fixes.
* Lang files updated.
-------------------------------------------------------------------
[A] Added stained clinker brick block/stairs. Can be mixed with
"normal" clinkers.
[A] Added opt-out option for CTRL-SHIFT tooltips.
[M] Recipe condition requirements updated, recipes categorized.
- v1.0.7-b1 [M] Factory dropper (config:experimental) button placement fixed,
GUI vs external view x/y markers added, internal trigger logic
simplified. Thx @overchoice for beta testing!
- v1.0.8-b2 [F] Config opt-out fixed (thx IronPiston for the report #30).
[A] Added opt-out config for detailed including/excluding
of features (using registry name wildcard matching).
-------------------------------------------------------------------
- v1.0.6 [R] Release based on v1.0.6-b1. Release-to-release changes:
* Fixed FML remapping issue (COULD CAUSE CRASHES).
* Small waste incinerator added.
* Lang files updated/corrections.
* Metal ladder easier to break.
-------------------------------------------------------------------
[A] Added factory dropper (config:experimental).
[C] Thx to abdurraslan for the detailed issue #25.
- v1.0.8-b1 [A] Added "Factory area" sign.
[M] Electrical furnace recipe changed (hoppers to conveyors).
[A] Opt-out config options added.
[F] Lang file fixes for en_us (Angela, PR#29).
- v1.0.6-b1 [A] Added small waste incinerator (delayed fifo-buffered item disposal).
[M] Fixed item/block name capitalization (by Voxelo).
[M] Metal ladders are easier to break/harvest.
[F] Fixed FML remapping issue by using dedicated IItemHandler instances.
-------------------------------------------------------------------
- v1.0.7 [R] Release based on v1.0.7-b2. Release-to-release changes:
* Factory dropper added.
* Defense system warning sign added.
* Warning sign backgrounds adapted.
* Standalone recipes added.
* Lang files updated.
-------------------------------------------------------------------
[A] Added standalone recipes for signs, factory dropper, and
electrical furnace.
[M] Adapted "Caution" sign backgrounds to the yellow defense
system warning background.
-------------------------------------------------------------------
- v1.0.5 [R] Release based on v1.0.5-b1. Release-to-release changes:
* Small electrical passthrough-furnace added.
* Passive fluid accumulator added.
* Config options added.
* Sign plates added.
* Minor bug fixes.
-------------------------------------------------------------------
[A] Added sign "Electrical hazard"/"Caution hot wire".
[A] Added sign "Caution dangerous there" (skull/bones).
- v1.0.7-b2 [A] Added Defense System Warning sign (design by J. Carver).
[M] Factory dropper non-experimental now. GUI click area tuning.
"Fast drop" symbol replaced from arrow to dog icon (thx
overchoice for that icon).
[M] Lang files updated.
- v1.0.5-b1 [A] Added passive fluid accumulator.
[A] Added small electrical passthrough-furnace.
[F] Fixed version check URL.
[M] Opt-out config options for valves, passive fluid accumulator,
and furni.
- v1.0.7-b1 [M] Factory dropper (config:experimental) button placement fixed,
GUI vs external view x/y markers added, internal trigger logic
simplified. Thx @overchoice for beta testing!
-------------------------------------------------------------------
- v1.0.4 [R] Release based on v1.0.4-b9. Release-to-release changes:
* Crafting table: Quick crafting history re-fab, JEI integration.
* Rendering improvements and issue fixes (stairs, ambient occlusion,
optifine, etc).
* Walls with texture variations.
* Thin/thick steel poles with support feet/heads.
* Horizontal steel double-T support beams added.
* Fluid pipe valves added: Check valve, redstone controlled valve,
analog redstone controlled valve. Support pressurized transfer.
* Tool tip documentation (CTRL-SHIFT) for stairs added.
* Internal code cleanups.
* Recipes tuned.
-------------------------------------------------------------------
[E] Added pass-through electrical furnace (experimental, see config).
-------------------------------------------------------------------
- v1.0.6 [R] Release based on v1.0.6-b1. Release-to-release changes:
* Fixed FML remapping issue (COULD CAUSE CRASHES).
* Small waste incinerator added.
* Lang files updated/corrections.
* Metal ladder easier to break.
-------------------------------------------------------------------
[A] Added factory dropper (config:experimental).
[C] Thx to abdurraslan for the detailed issue #25.
- v1.0.4-b9 [F] Inserting fluids with pressurized tag only into IE piping.
[F] Valve redstone connector rendering does not check for
"can connect redstone" but only for "can provide power".
[M] Valves are adapted to be detected as pipe by IE.
- v1.0.6-b1 [A] Added small waste incinerator (delayed fifo-buffered item disposal).
[M] Fixed item/block name capitalization (by Voxelo).
[M] Metal ladders are easier to break/harvest.
[F] Fixed FML remapping issue by using dedicated IItemHandler instances.
- v1.0.4-b8 [F] Fixed stairs rendering without smooth light (thanks rastot9).
[E] Added passive fluid accumulator (experimental feature, see config).
-------------------------------------------------------------------
- v1.0.5 [R] Release based on v1.0.5-b1. Release-to-release changes:
* Small electrical passthrough-furnace added.
* Passive fluid accumulator added.
* Config options added.
* Sign plates added.
* Minor bug fixes.
-------------------------------------------------------------------
[A] Added sign "Electrical hazard"/"Caution hot wire".
[A] Added sign "Caution dangerous there" (skull/bones).
- v1.0.4-b7 [F] Fixed recipe loading issue if IE is not installed.
[M] Valves support IE pressurized fluid transfer.
- v1.0.5-b1 [A] Added passive fluid accumulator.
[A] Added small electrical passthrough-furnace.
[F] Fixed version check URL.
[M] Opt-out config options for valves, passive fluid accumulator,
and furni.
- v1.0.4-b6 [A] Added redstone controlled fluid valve.
[A] Added redstone controlled analog fluid valve.
[M] Check valve recipe adapted (thanks majijn).
-------------------------------------------------------------------
- v1.0.4 [R] Release based on v1.0.4-b9. Release-to-release changes:
* Crafting table: Quick crafting history re-fab, JEI integration.
* Rendering improvements and issue fixes (stairs, ambient occlusion,
optifine, etc).
* Walls with texture variations.
* Thin/thick steel poles with support feet/heads.
* Horizontal steel double-T support beams added.
* Fluid pipe valves added: Check valve, redstone controlled valve,
analog redstone controlled valve. Support pressurized transfer.
* Tool tip documentation (CTRL-SHIFT) for stairs added.
* Internal code cleanups.
* Recipes tuned.
-------------------------------------------------------------------
[E] Added pass-through electrical furnace (experimental, see config).
- v1.0.4-b5 [A] Horizontal steel double-T support beam with pole connections.
[A] Added fluid pipe check valve (straight, conducts only one way).
[M] Internal registration block/te handling changed.
- v1.0.4-b9 [F] Inserting fluids with pressurized tag only into IE piping.
[F] Valve redstone connector rendering does not check for
"can connect redstone" but only for "can provide power".
[M] Valves are adapted to be detected as pipe by IE.
- v1.0.4-b4 [F] Clinker/slag brick wall side cullfacing disabled to prevent
texture leaks when connecting to concrete walls.
[F] Unused treated wood pole texture regions filled (optifine).
[F] Using mipped cutout format for window multi-layer model
(issue #19, thanks rixmswey for reporting and details).
[M] Recipe tuning, added standalone recipe for all mod blocks.
[M] In-game CTRL-SHIFT tooltip documentation updated.
[M] Panzer glass block: Ambient occlusion and light opacity tuned.
[M] Stairs: Light opacity tuned.
[A] Tooltip documentation added for mod stairs.
[E] Horizontal steel double-T support beam (config:experimental).
- v1.0.4-b8 [F] Fixed stairs rendering without smooth light (thanks rastot9).
[E] Added passive fluid accumulator (experimental feature, see config).
- v1.0.4-b3 [A] Added thin (4x4x16) and thick (6x6x16) steel hollow poles.
[A] Added support head/foot components for thin and thick steel poles.
- v1.0.4-b7 [F] Fixed recipe loading issue if IE is not installed.
[M] Valves support IE pressurized fluid transfer.
- v1.0.4-b2 [A] Added position dependent texture variation to clinker wall,
slag brick wall and rebar concrete wall.
- v1.0.4-b6 [A] Added redstone controlled fluid valve.
[A] Added redstone controlled analog fluid valve.
[M] Check valve recipe adapted (thanks majijn).
- v1.0.4-b1 [A] Crafting table: JEI integration for recipe placement added.
[A] Crafting table: History re-fab added, allowing to quickly select
and re-craft recent recipes. Selection with arrow buttons,
ingredient placement by clicking the result slot. Automatic
item distribution on shift-click. Quick-move buttons.
[F] Crafting table textures modified to prevent optifine glitches
on the edges of the legs.
- v1.0.4-b5 [A] Horizontal steel double-T support beam with pole connections.
[A] Added fluid pipe check valve (straight, conducts only one way).
[M] Internal registration block/te handling changed.
-------------------------------------------------------------------
- v1.0.3 [R] Release based on v1.0.3-b5. Release-to-release changes:
* Small laboratory furnace added.
* Extensive config options for mod packing and tuning added.
* Rendering issues fixes (window bleeding, optifine).
* Steel framed window added.
* Treated wood pole "end pieces" added (two support variants).
* Sitting on treated wood stool added including mobs (but not
villagers, as these are obviously very upright people).
* Lang ru_ru added (github contribution from Yaroslavik).
* Creative tab logo changed to mod logo.
* Table/crafting table bounding boxes refined.
* Standalone "escape" recipes added if IE is not installed.
-------------------------------------------------------------------
- v1.0.4-b4 [F] Clinker/slag brick wall side cullfacing disabled to prevent
texture leaks when connecting to concrete walls.
[F] Unused treated wood pole texture regions filled (optifine).
[F] Using mipped cutout format for window multi-layer model
(issue #19, thanks rixmswey for reporting and details).
[M] Recipe tuning, added standalone recipe for all mod blocks.
[M] In-game CTRL-SHIFT tooltip documentation updated.
[M] Panzer glass block: Ambient occlusion and light opacity tuned.
[M] Stairs: Light opacity tuned.
[A] Tooltip documentation added for mod stairs.
[E] Horizontal steel double-T support beam (config:experimental).
- v1.0.3-b5 [F] Fixed typo in en-en lang file.
[F] Fixed IE concrete texture missing bailout in log if IE is not installed.
[F] Using forge multi-layer models for windows to circumvent glitches.
[M] Changed creative tab logo to the mod logo.
[A] Added alternative recipes for crafting table and furnace if main
IE ingredients are missing (for "stand-alone" mod usage).
- v1.0.4-b3 [A] Added thin (4x4x16) and thick (6x6x16) steel hollow poles.
[A] Added support head/foot components for thin and thick steel poles.
- v1.0.3-b4 [A] Lab furnace supports electrical speedup when a IE external
is placed in one of the two auxiliary slots.
[F] Fixed window rendering issue (issue #15, thanks to ILLOMIURGE).
[M] Updated ru_ru lang file (Yaroslavik).
- v1.0.4-b2 [A] Added position dependent texture variation to clinker wall,
slag brick wall and rebar concrete wall.
- v1.0.3-b3 [A] Added sitting on treated wood stool, Zombies included.
[A] Added steel framed window.
[A] Added treated wood pole support head/foot and heavy duty support.
[A] Added language Russian language support, thanks to yaroslav4167.
[A] Added config for furnace smelting speed (percent of vanilla furnace).
[A] Added config for furnace fuel efficiency (in percent, ref is vanilla).
[F] Treated pole model changed to circumvent potential texture bleeding.
[M] Treated wood table bounding box aligned with the legs.
[M] Treated wood crafting table bounding box aligned with the legs.
[M] Treated wood window can be vertically placed for rooflights.
- v1.0.4-b1 [A] Crafting table: JEI integration for recipe placement added.
[A] Crafting table: History re-fab added, allowing to quickly select
and re-craft recent recipes. Selection with arrow buttons,
ingredient placement by clicking the result slot. Automatic
item distribution on shift-click. Quick-move buttons.
[F] Crafting table textures modified to prevent optifine glitches
on the edges of the legs.
- v1.0.3-b2 [A] Added config options for selective feature opt-outs (soft opt-out).
[A] Added config skip registration of opt-out features (hard opt-out).
[A] Added config to disable all internal recipes (for packs).
[A] Added JEI API adapter for soft opt-outs.
[A] Added lab furnace recipe override config to smelt ores to nuggets
that would normally be smelted into ingots. Can be changed on-the-fly.
-------------------------------------------------------------------
- v1.0.3 [R] Release based on v1.0.3-b5. Release-to-release changes:
* Small laboratory furnace added.
* Extensive config options for mod packing and tuning added.
* Rendering issues fixes (window bleeding, optifine).
* Steel framed window added.
* Treated wood pole "end pieces" added (two support variants).
* Sitting on treated wood stool added including mobs (but not
villagers, as these are obviously very upright people).
* Lang ru_ru added (github contribution from Yaroslavik).
* Creative tab logo changed to mod logo.
* Table/crafting table bounding boxes refined.
* Standalone "escape" recipes added if IE is not installed.
-------------------------------------------------------------------
- v1.0.3-b1 [A] Added small laboratory furnace.
[M] Panzer glass opacity/light level set explicitly 0.
- v1.0.3-b5 [F] Fixed typo in en-en lang file.
[F] Fixed IE concrete texture missing bailout in log if IE is not installed.
[F] Using forge multi-layer models for windows to circumvent glitches.
[M] Changed creative tab logo to the mod logo.
[A] Added alternative recipes for crafting table and furnace if main
IE ingredients are missing (for "stand-alone" mod usage).
-------------------------------------------------------------------
- v1.0.2 [R] Release based on v1.0.2-b3
* Fixes: Spawning.
* Crafting table: Shift-click.
* Ladders: Faster climbing/descending.
* Concrete: Rebar tiles, tile stairs.
* Treated wood: window, windowsill.
* Slag brick: wall.
* Panzer glass: added.
* Recipes: Adaptions, added decompositions.
-------------------------------------------------------------------
- v1.0.3-b4 [A] Lab furnace supports electrical speedup when a IE external
is placed in one of the two auxiliary slots.
[F] Fixed window rendering issue (issue #15, thanks to ILLOMIURGE).
[M] Updated ru_ru lang file (Yaroslavik).
- v1.0.2-b3 [A] Added slag brick wall.
[A] Added wall decomposition recipes.
[A] Added treated wood window.
[M] Climbing/descending mod ladders is faster when
looking up or down and not sneaking.
[M] Panzer glass material definition changed.
[M] Explicitly preventing spawning in and on "non-full"
blocks of the mod.
- v1.0.3-b3 [A] Added sitting on treated wood stool, Zombies included.
[A] Added steel framed window.
[A] Added treated wood pole support head/foot and heavy duty support.
[A] Added language Russian language support, thanks to yaroslav4167.
[A] Added config for furnace smelting speed (percent of vanilla furnace).
[A] Added config for furnace fuel efficiency (in percent, ref is vanilla).
[F] Treated pole model changed to circumvent potential texture bleeding.
[M] Treated wood table bounding box aligned with the legs.
[M] Treated wood crafting table bounding box aligned with the legs.
[M] Treated wood window can be vertically placed for rooflights.
- v1.0.2-b2 [A] Added rebar concrete tile stairs.
[A] Added treated wood window sill.
[A] Added decomposition recipes for stairs and tiles.
[M] Changed stair recipe yield quantity from 9 to 6.
- v1.0.3-b2 [A] Added config options for selective feature opt-outs (soft opt-out).
[A] Added config skip registration of opt-out features (hard opt-out).
[A] Added config to disable all internal recipes (for packs).
[A] Added JEI API adapter for soft opt-outs.
[A] Added lab furnace recipe override config to smelt ores to nuggets
that would normally be smelted into ingots. Can be changed on-the-fly.
- v1.0.2-b1 [A] Added rebar concrete tile.
[A] Added panzer glass (explosion-resistant reinforced glass).
[M] Treated wood crafting table supports shift-click to transfer
stacks between player inventory and crafting table storage
(thanks majijn for the hint).
- v1.0.3-b1 [A] Added small laboratory furnace.
[M] Panzer glass opacity/light level set explicitly 0.
-------------------------------------------------------------------
- v1.0.1 [R] Release based on v1.0.1-b4
* Treated wood crafting table
* Clinker brick wall
* Treated wood stool
* Inset spot light
* Recipe fixes
* Logo updated
-------------------------------------------------------------------
-------------------------------------------------------------------
- v1.0.2 [R] Release based on v1.0.2-b3
* Fixes: Spawning.
* Crafting table: Shift-click.
* Ladders: Faster climbing/descending.
* Concrete: Rebar tiles, tile stairs.
* Treated wood: window, windowsill.
* Slag brick: wall.
* Panzer glass: added.
* Recipes: Adaptions, added decompositions.
-------------------------------------------------------------------
- v1.0.1-b4 [M] Crafting table keeps inventory and has eight storage slots.
[M] Adapted inset light strength and harvest tool.
[M] Crafting table recipe adapted.
- v1.0.2-b3 [A] Added slag brick wall.
[A] Added wall decomposition recipes.
[A] Added treated wood window.
[M] Climbing/descending mod ladders is faster when
looking up or down and not sneaking.
[M] Panzer glass material definition changed.
[M] Explicitly preventing spawning in and on "non-full"
blocks of the mod.
- v1.0.1-b3 [A] Added inset light (glowstone-metal, light level like torch,
can be used as floor/ceiling/wall light).
[M] Crafting table model updated (issue #7, thanks majijn).
[M] Logo image updated.
- v1.0.2-b2 [A] Added rebar concrete tile stairs.
[A] Added treated wood window sill.
[A] Added decomposition recipes for stairs and tiles.
[M] Changed stair recipe yield quantity from 9 to 6.
- v1.0.1-b2 [A] Added treated wood crafting table.
[A] Added treated wood stool.
[F] Fixed ladder bounding boxes to allow climbing connected trap doors
(issue #6, thanks to Forgilageord).
[M] Improved wall-block connections (wall elements only connect to other
walls or gates, as well as to solid blocks if these blocks are in
a straight line with at least two wall elements).
[M] Decor walls are defined "solid" on top, so that e.g. torches and
redstone tracks can be placed on them.
- v1.0.2-b1 [A] Added rebar concrete tile.
[A] Added panzer glass (explosion-resistant reinforced glass).
[M] Treated wood crafting table supports shift-click to transfer
stacks between player inventory and crafting table storage
(thanks majijn for the hint).
- v1.0.1-b1 [F] Fixed missing condition for ie:stone_deco in recipe constants.
[A] Added clinker brick wall.
-------------------------------------------------------------------
- v1.0.1 [R] Release based on v1.0.1-b4
* Treated wood crafting table
* Clinker brick wall
* Treated wood stool
* Inset spot light
* Recipe fixes
* Logo updated
-------------------------------------------------------------------
-------------------------------------------------------------------
- v1.0.0 [R] Release based on v1.0.0-b4
-------------------------------------------------------------------
- v1.0.1-b4 [M] Crafting table keeps inventory and has eight storage slots.
[M] Adapted inset light strength and harvest tool.
[M] Crafting table recipe adapted.
- v1.0.0-b4 [F] Fixed vanished recipe for the rebar concrete wall.
[A] Concrete wall, material: IE concrete.
- v1.0.1-b3 [A] Added inset light (glowstone-metal, light level like torch,
can be used as floor/ceiling/wall light).
[M] Crafting table model updated (issue #7, thanks majijn).
[M] Logo image updated.
- v1.0.0-b3 [A] Textures of rebar concrete and treated wood table improved.
[A] Added rebar concrete wall.
- v1.0.1-b2 [A] Added treated wood crafting table.
[A] Added treated wood stool.
[F] Fixed ladder bounding boxes to allow climbing connected trap doors
(issue #6, thanks to Forgilageord).
[M] Improved wall-block connections (wall elements only connect to other
walls or gates, as well as to solid blocks if these blocks are in
a straight line with at least two wall elements).
[M] Decor walls are defined "solid" on top, so that e.g. torches and
redstone tracks can be placed on them.
- v1.0.0-b2 [A] Added rebar concrete (steel reinforced, expensive, creeper-proof).
- v1.0.1-b1 [F] Fixed missing condition for ie:stone_deco in recipe constants.
[A] Added clinker brick wall.
- v1.0.0-b1 [A] Initial structure.
[A] Added clinker bricks and clinker brick stairs.
[A] Added slag bricks and slag brick stairs.
[A] Added metal rung ladder.
[A] Added staggered metal steps ladder.
[A] Added treated wood ladder.
[A] Added treated wood pole.
[A] Added treated wood table.
-------------------------------------------------------------------
- v1.0.0 [R] Release based on v1.0.0-b4
-------------------------------------------------------------------
- v1.0.0-b4 [F] Fixed vanished recipe for the rebar concrete wall.
[A] Concrete wall, material: IE concrete.
- v1.0.0-b3 [A] Textures of rebar concrete and treated wood table improved.
[A] Added rebar concrete wall.
- v1.0.0-b2 [A] Added rebar concrete (steel reinforced, expensive, creeper-proof).
- v1.0.0-b1 [A] Initial structure.
[A] Added clinker bricks and clinker brick stairs.
[A] Added slag bricks and slag brick stairs.
[A] Added metal rung ladder.
[A] Added staggered metal steps ladder.
[A] Added treated wood ladder.
[A] Added treated wood pole.
[A] Added treated wood table.
----

View file

@ -12,13 +12,17 @@ import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.List;
public class BlockDecorFloorGrating extends BlockDecor
{
@ -39,6 +43,47 @@ public class BlockDecorFloorGrating extends BlockDecor
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess world, IBlockState state, BlockPos pos, EnumFacing face)
{ return BlockFaceShape.SOLID; }
{ return BlockFaceShape.UNDEFINED; }
@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.motionX = 0;
entity.motionY = -0.1;
entity.motionZ = 0;
entity.setPositionAndUpdate(pos.getX()+0.5, entity.posY-0.3, pos.getZ()+0.5);
}
}
@Override
public void onLanded(World world, Entity entity)
{
if(!(entity instanceof EntityItem)) {
super.onLanded(world, entity);
} else {
entity.motionX = 0;
entity.motionY = -0.1;
entity.motionZ = 0;
entity.setPositionAndUpdate(entity.posX, entity.posY-0.3, entity.posZ);
}
}
@Override
public void onEntityCollision(World world, BlockPos pos, IBlockState state, Entity entity)
{
if(!(entity instanceof EntityItem)) return;
entity.motionX = 0;
entity.motionZ = 0;
if((entity.posY-pos.getY()) > 0.7) {
if(entity.motionY > -0.2) entity.motionY = -0.2;
entity.setPositionAndUpdate(pos.getX()+0.5, entity.posY-0.3, pos.getZ()+0.5);
}
}
}

View file

@ -251,7 +251,7 @@ public class ModBlocks
"steel_table",
BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT,
Material.IRON, 1.0f, 15f, SoundType.METAL,
ModAuxiliaries.getPixeledAABB(0,0,0, 16,15.9,16)
ModAuxiliaries.getPixeledAABB(0,0,0, 16,16,16)
);
public static final BlockDecorFloorGrating STEEL_FLOOR_GRATING = new BlockDecorFloorGrating(

View file

@ -88,7 +88,7 @@ tile.engineersdecor.treated_wood_table.help=§6Robust four-legged wood table.§r
tile.engineersdecor.steel_table.name=Steel Table
tile.engineersdecor.steel_table.help=§6Robust four-legged steel table.
tile.engineersdecor.steel_floor_grating.name=Steel Floor Grating
tile.engineersdecor.steel_floor_grating.help=§6Decorative steel floor covering.§r Top aligned.
tile.engineersdecor.steel_floor_grating.help=§6Decorative steel floor covering.§r Top aligned. Items fall through.
tile.engineersdecor.treated_wood_stool.name=Treated Wood Stool
tile.engineersdecor.treated_wood_stool.help=§6Robust Wood Stool.§r Indoor and outdoor use.
tile.engineersdecor.treated_wood_crafting_table.name=Treated Wood Crafting Table

View file

@ -7,68 +7,68 @@
itemGroup.tabengineersdecor=Engineer's Decor
engineersdecor.tooltip.hint.extended=§6[§9SHIFT§r Больше информации§6]§r
engineersdecor.tooltip.hint.help=§6[§9CTRL-SHIFT§r Помощь§6]§r
#engineersdecor.tooltip.slabpickup.help=§rFast pickup by left-clicking while looking up/down and holding this slab.
engineersdecor.tooltip.slabpickup.help=§rБыстрое поднятие щелчком ЛКМ, смотря вверх/вниз с этой плитой в руках.
#-----------------------------------------------------------------------------------------------------------
# Stone/"ceramic material" based blocks
#-----------------------------------------------------------------------------------------------------------
tile.engineersdecor.clinker_brick_block.name=Клинкерный кирпич
tile.engineersdecor.clinker_brick_block.help=§6Кирпичный блок с вариациями текстуры, зависящими от положения.§r\nВыглядит немного темнее и интенсивнее, чем ванильный кирпичный блок.
tile.engineersdecor.clinker_brick_block.help=§6Кирпичный блок с вариациями текстуры, зависящими от положения.§r\nВыглядит темнее и интенсивнее, чем Кирпичный блок.
tile.engineersdecor.clinker_brick_stained_block.name=Грязный клинкерный кирпич
tile.engineersdecor.clinker_brick_stained_block.help=§6Кирпичный блок с вариациями текстуры, зависящими от положения.§r\nВыглядит немного темнее и интенсивнее, чем ванильный кирпичный блок. Имеет более заметные следы грязи или пятен.
tile.engineersdecor.clinker_brick_stained_block.help=§6Кирпичный блок с вариациями текстуры, зависящими от положения.§r\nВыглядит темнее и интенсивнее, чем Кирпичный блок. Имеет более заметные следы грязи или пятен.
tile.engineersdecor.slag_brick_block.name=Шлакоблок
tile.engineersdecor.slag_brick_block.help=§6Серо-коричневый кирпичный блок с зависимыми от положения вариациями текстуры.
tile.engineersdecor.rebar_concrete.name=Железобетон
tile.engineersdecor.rebar_concrete.help=§6Стальной железобетонный блок.§r Дорогой, но взрывоустойчивый, как обсидиан.
tile.engineersdecor.panzerglass_block.name=Бронированное стекло
tile.engineersdecor.panzerglass_block.help=§6Усиленный стеклоблок.§r Дорогой, взрывоустойчивый. Имеет темно-серый оттенок, видны слабые структурные линии, мульти текстура для бесшовного отображения.
tile.engineersdecor.panzerglass_block.help=§6Усиленный стеклоблок.§r Дорогой, взрывоустойчивый. Имеет тёмно-серый оттенок, слегка видны структурные линии, мультитекстура для бесшовного отображения.
tile.engineersdecor.rebar_concrete_tile.name=Железобетонная плита
tile.engineersdecor.rebar_concrete_tile.help=§6Стальная железобетонная плитка.§r Дорогая, но взрывоустойчивая, как обсидиан.
#-----------------------------------------------------------------------------------------------------------
tile.engineersdecor.clinker_brick_slab.name=Clinker Brick Slab
#tile.engineersdecor.clinker_brick_slab.help=§6Slab made from a Clinker Block.§r\nLooks slightly darker and more color intensive than the vanilla brick.
tile.engineersdecor.clinker_brick_stained_slab.name=Stained Clinker Brick Slab
#tile.engineersdecor.clinker_brick_stained_slab.help=§6Slab made from a Stained Clinker Block.
tile.engineersdecor.slag_brick_slab.name=Slag Brick Slab
#tile.engineersdecor.slag_brick_slab.help=§6A gray-brown brick slab.
tile.engineersdecor.rebar_concrete_slab.name=Rebar Concrete Slab
#tile.engineersdecor.rebar_concrete_slab.help=§6Steel reinforced concrete slab.§r Expensive but Creeper-proof like obsidian.
tile.engineersdecor.rebar_concrete_tile_slab.name=Rebar Concrete Tile Slab
#tile.engineersdecor.rebar_concrete_tile_slab.help=§6Steel reinforced concrete tile slab.§r Expensive but Creeper-proof like obsidian.
tile.engineersdecor.panzerglass_slab.name=Panzer Glass Slab
#tile.engineersdecor.panzerglass_slab.help=§6Reinforced glass slab.§r Expensive, explosion-proof. Dark gray tint, faint structural lines visible.
tile.engineersdecor.clinker_brick_slab.name=Клинкерная плита
tile.engineersdecor.clinker_brick_slab.help=§6Плита из клинкерного блока.§r\nВыглядит темнее и интенсивнее, чем Кирпичный блок.
tile.engineersdecor.clinker_brick_stained_slab.name=Плита из окраженного клинкерного кирпича
tile.engineersdecor.clinker_brick_stained_slab.help=§6Плита из Окрашенного клинкерного блока.
tile.engineersdecor.slag_brick_slab.name=Плита из шлакоблока
tile.engineersdecor.slag_brick_slab.help=§6Серо-коричневая кирпичная плита.
tile.engineersdecor.rebar_concrete_slab.name=Железобетонная плита
tile.engineersdecor.rebar_concrete_slab.help=§6Бетонная плита, усиленная сталью.§r Дорогая, но взрывоустойчивая, как обсидиан.
tile.engineersdecor.rebar_concrete_tile_slab.name=Железобетонная плитка
tile.engineersdecor.rebar_concrete_tile_slab.help=§6Бетонная плитка, усиленная сталью.§r Дорогая, но взрывоустойчивая, как обсидиан.
tile.engineersdecor.panzerglass_slab.name=Плита из бронированного стекла
tile.engineersdecor.panzerglass_slab.help=§6Усиленная стеклянная плита.§r Дорогая, взрывоустойчивая. Имеет тёмно-серый оттенок, слегка видны структурные линии.
#-----------------------------------------------------------------------------------------------------------
tile.engineersdecor.rebar_concrete_wall.name=Железобетонная стена
tile.engineersdecor.rebar_concrete_wall.help=§6Стальная железобетонная стена.§r Дорогая, но взрывоустойчивая, как обсидиан.
tile.engineersdecor.concrete_wall.name=Бетонная стена
tile.engineersdecor.concrete_wall.help=§6Стена из твердого бетона.
tile.engineersdecor.concrete_wall.help=§6Стена из твёрдого бетона.
tile.engineersdecor.clinker_brick_wall.name=Клинкерная кирпичная стена
tile.engineersdecor.clinker_brick_wall.help=§6Обыкновенная клинкерная кирпичная стена.
tile.engineersdecor.slag_brick_wall.name=Кирпичная стена из шлакоблока
tile.engineersdecor.slag_brick_wall.help=§6Обыкновенная стена из шлакоблока.
#-----------------------------------------------------------------------------------------------------------
tile.engineersdecor.metal_rung_ladder.name=Металлическая лестница
tile.engineersdecor.metal_rung_ladder.help=§6Типичная промышленная настенная лестница, состоящая из горизонтальных металлических стержней.§r Смотри вверх / вниз, чтобы подняться быстрее.
tile.engineersdecor.metal_rung_ladder.help=§6Типичная промышленная настенная лестница, состоящая из горизонтальных металлических стержней.§r Смотри вверх/вниз, чтобы подняться быстрее.
tile.engineersdecor.metal_rung_steps.name=Настенные металлические ступеньки
tile.engineersdecor.metal_rung_steps.help=§6Металлические ступеньки, крепятся к стене. Позволяют подыматься / спускаться.§r Смотри вверх / вниз, чтобы подняться быстрее.
tile.engineersdecor.metal_rung_steps.help=§6Металлические ступеньки, крепятся к стене. Позволяют подниматься/спускаться.§r Смотри вверх/вниз, чтобы подняться быстрее.
tile.engineersdecor.treated_wood_ladder.name=Лестница из обработанного дерева
tile.engineersdecor.treated_wood_ladder.help=§6Погодоустойчивая деревянная лестница.§r Смотри вверх / вниз, чтобы подняться быстрее.
tile.engineersdecor.treated_wood_ladder.help=§6Погодоустойчивая деревянная лестница.§r Смотри вверх/вниз, чтобы подняться быстрее.
#-----------------------------------------------------------------------------------------------------------
tile.engineersdecor.clinker_brick_stairs.name=Клинкерная кирпичная лестница
tile.engineersdecor.clinker_brick_stairs.help=§6По цвету выглядит немного темнее и интенсивнее, чем ванильный кирпичный блок
tile.engineersdecor.clinker_brick_stained_stairs.name=Грязная кирпичная лестница
tile.engineersdecor.clinker_brick_stained_stairs.help=§6Выглядит немного темнее и интенсивнее, чем ванильный кирпичный блок. Имеет более заметные следы грязи или пятен.
tile.engineersdecor.slag_brick_stairs.name=Клинкерная кирпичная лестница
tile.engineersdecor.slag_brick_stairs.help=§6По цвету выглядит немного темнее и интенсивнее, чем ванильный кирпичный блок.
tile.engineersdecor.rebar_concrete_stairs.name=Железобетонная лестница
tile.engineersdecor.rebar_concrete_stairs.help=§6Железобетонная лестница.§r Дорогая, но взрывоустойчивая, как обсидиан.
tile.engineersdecor.rebar_concrete_tile_stairs.name=Железобетонная лестница
tile.engineersdecor.rebar_concrete_tile_stairs.help=§6Железобетонная лестница.§r Дорогая, но взрывоустойчивая, как обсидиан.
tile.engineersdecor.clinker_brick_stairs.name=Клинкерные кирпичные ступеньки
tile.engineersdecor.clinker_brick_stairs.help=§6По цвету выглядят немного темнее и интенсивнее, чем Кирпичный блок
tile.engineersdecor.clinker_brick_stained_stairs.name=Грязные кирпичные ступеньки
tile.engineersdecor.clinker_brick_stained_stairs.help=§6Выглядят немного темнее и интенсивнее, чем Кирпичный блок. Имеют более заметные следы грязи или пятен.
tile.engineersdecor.slag_brick_stairs.name=Клинкерные кирпичные ступеньки
tile.engineersdecor.slag_brick_stairs.help=§6По цвету выглядят немного темнее и интенсивнее, чем Кирпичный блок.
tile.engineersdecor.rebar_concrete_stairs.name=Железобетонные ступеньки
tile.engineersdecor.rebar_concrete_stairs.help=§6Железобетонные ступеньки.§r Дорогие, но взрывоустойчивые, как обсидиан.
tile.engineersdecor.rebar_concrete_tile_stairs.name=Ступеньки из железобетонной плитки
tile.engineersdecor.rebar_concrete_tile_stairs.help=§6Ступеньки из железобетонной плитки.§r Дорогие, но взрывоустойчивые, как обсидиан.
#-----------------------------------------------------------------------------------------------------------
tile.engineersdecor.treated_wood_pole.name=Прямой обработанный деревянный столб
tile.engineersdecor.treated_wood_pole.help=§6Надёжный столб с диаметром, схожим с реле.§r\n\
Может быть полезен в качестве альтернативы электро-столбам, если требуется особая специальная длина, \
Может быть полезен в качестве альтернативы столбам для проводов, если требуется особая специальная длина, \
или как опора для конструкций.
tile.engineersdecor.treated_wood_pole_head.name=Прямой обработанный деревянный столб верхняя часть/основание
tile.engineersdecor.treated_wood_pole_head.name=Прямой обработанный деревянный столб (верхняя часть/основание)
tile.engineersdecor.treated_wood_pole_head.help=§6Деревянная часть, подходит как основание или наконечник прямых столбов.
tile.engineersdecor.treated_wood_pole_support.name=Прямой обработанный деревянный столб
tile.engineersdecor.treated_wood_pole_support.help=§6Усиленная деревянная опорная часть, подходит как основание или наконечник прямых столбов.
@ -84,17 +84,17 @@ tile.engineersdecor.steel_double_t_support.name=Стальная двойная
tile.engineersdecor.steel_double_t_support.help=§6Фрагмент горизонтальной потолочной опорной балки.
#-----------------------------------------------------------------------------------------------------------
tile.engineersdecor.treated_wood_table.name=Стол из обработанного дерева
tile.engineersdecor.treated_wood_table.help=§6Прочный деревянный стол с четырьмя ножками .§r Для использования в помещении и на улице.
tile.engineersdecor.steel_table.name=Steel Table
#tile.engineersdecor.steel_table.help=§6Robust four-legged steel table.
tile.engineersdecor.steel_floor_grating.name=Steel Floor Grating
#tile.engineersdecor.steel_floor_grating.help=§6Decorative steel floor covering.§r Top aligned.
tile.engineersdecor.treated_wood_table.help=§6Прочный деревянный стол с четырьмя ножками.§r Для использования в помещении и на улице.
tile.engineersdecor.steel_table.name=Стальной стол
tile.engineersdecor.steel_table.help=§6Прочный стол с четырьмя ножками.
tile.engineersdecor.steel_floor_grating.name=Решётка стального пола
tile.engineersdecor.steel_floor_grating.help=§6Декоративное стальное напольное покрытие.§r Выровнен по верху.
tile.engineersdecor.treated_wood_stool.name=Табурет из обработанного дерева
tile.engineersdecor.treated_wood_stool.help=§6Крепкий деревянный табурет.§r Для использования в помещении и на улице.
tile.engineersdecor.treated_wood_crafting_table.name=Верстак из обработанного дерева
tile.engineersdecor.treated_wood_crafting_table.help=§6Прочный и устойчивый к погодным условиям. Восемь слотов для хранения. Хранит инвентарь.
tile.engineersdecor.treated_wood_side_table.name=Treated Wood Side Table
#tile.engineersdecor.treated_wood_side_table.help=§6Needed after the work's done.
tile.engineersdecor.treated_wood_side_table.help=§6Needed after the work's done.
tile.engineersdecor.iron_inset_light.name=Встраиваемый осветитель
tile.engineersdecor.iron_inset_light.help=§6Маленький источник света, интегрируемый в стены, пол или потолок.§r\n\
Полезно для освещения мест, где проблематичны электрические осветительные установки.\
@ -107,39 +107,39 @@ tile.engineersdecor.steel_framed_window.name=Окно со стальной ра
tile.engineersdecor.steel_framed_window.help=§6Стальной каркас окна с тройным остеклением. Хорошо изолирует. §r Не подключается к смежным блокам, таким как стеклянные панели.
#-----------------------------------------------------------------------------------------------------------
tile.engineersdecor.small_lab_furnace.name=Компактная лабораторная печь
tile.engineersdecor.small_lab_furnace.help=§6Лабораторная печь в металлическом корпусе.§r Подача твёрдого топлива - сверху. Немного горячее чем каменная, поэтому быстрее. Два внутренних слота для ввода, выхода и топлива.
tile.engineersdecor.small_lab_furnace.help=§6Лабораторная печь в металлическом корпусе.§r Подача твёрдого топлива сверху. Немного горячее, чем каменная, поэтому быстрее. Два внутренних слота для ввода, выхода и топлива.
tile.engineersdecor.small_electrical_furnace.name=Компактная конвейерная электрическая печь
tile.engineersdecor.small_electrical_furnace.help=§6Компактная конвейерная печь в металлическом корпусе.§r \
Автоматически принимает предметы со стороны ввода и складывает в инвентарь со стороны вывода. \
Предметы могут быть импортированы/вытянуты со всех сторон с помощью воронок. Без проблем пропускает \
элементы, которые нельзя выплавить или приготовить. Чуть более энергоэффективная и быстра, \
чем утеплённая булыжная печь. Транспортировка работает стеками. Механизм требует немного энергии.
Предметы можно помещать/забирать со всех сторон с помощью воронок. Без проблем пропускает \
элементы, которые нельзя выплавить или приготовить. Чуть более энергоэффективная и быстрая, \
чем утеплённая булыжная печь. Транспортировка работает стеками. Механизм требует мало энергии.
tile.engineersdecor.small_waste_incinerator.name=Компактный сжигатель отходов
tile.engineersdecor.small_waste_incinerator.help=§6Отходы с слотами очереди.§r Предметы могут помещаться с любой стороны, и храниться \
до тех пор, пока в очереди не останется свободного места. После этого самый старый стэк \
tile.engineersdecor.small_waste_incinerator.help=§6Отходы с слотами для очереди.§r Предметы могут помещаться с любой стороны, и храниться \
до тех пор, пока в очереди не останется свободного места. После этого самый старый стек \
будет сожжен. Подключите электричество (RF/FE) для увеличения скорости обработки. \
Сохраняет инвентарь при перемещении.
#-----------------------------------------------------------------------------------------------------------
tile.engineersdecor.straight_pipe_valve.name=Жидкостный одноканальный клапан
tile.engineersdecor.straight_pipe_valve.help=§6Фрагмент прямой трубы.§r проводит жидкость только в одном направлении. \
tile.engineersdecor.straight_pipe_valve.name=Одноканальный жидкостный клапан
tile.engineersdecor.straight_pipe_valve.help=§6Фрагмент прямой трубы.§r Проводит жидкость только в одном направлении. \
Не соединяется по бокам. Уменьшает пропускную способность. \
SHIFT для размещения в противоположном направлении.
tile.engineersdecor.straight_pipe_valve_redstone.name=Редстоун-контролируемый жидкостный клапан
tile.engineersdecor.straight_pipe_valve_redstone.name=Краснокаменно-контролируемый жидкостный клапан
tile.engineersdecor.straight_pipe_valve_redstone.help=§6Фрагмент прямой трубы.§r Проводит жидкости только в одном направлении. \
Не соединяется по бокам. SHIFT - чтобы разместить в обратном направлении. \
Не соединяется по бокам. SHIFT для размещения в обратном направлении. \
Блокирует поток, если присутствует сигнал красного камня.
tile.engineersdecor.straight_pipe_valve_redstone_analog.name=Редстоун-аналоговый клапан для жидкости
tile.engineersdecor.straight_pipe_valve_redstone_analog.name=Краснокаменно-аналоговый жидкостный клапан
tile.engineersdecor.straight_pipe_valve_redstone_analog.help=§6Фрагмент прямой трубы.§r Проводит жидкости только в одном направлении. \
Не соединяется по бокам. SHIFT - чтобы разместить в обратном направлении. \
Не пропускает при отсутствии красного сигнала, уменьшает расход линейно с мощности 1 до 14, \
открывается максимально-возможно при уровне красного сигнала 15.
Не соединяется по бокам. SHIFT для размещения в обратном направлении. \
Не пропускает при отсутствии сигнала красного камня, уменьшает расход линейно с мощности 1 до 14, \
открывается максимально-возможно при уровне сигнала красного камня 15.
tile.engineersdecor.passive_fluid_accumulator.name=Пассивный жидкостный накопитель
tile.engineersdecor.passive_fluid_accumulator.help=§6Вакуумный всасывающий жидкостный коллектор§r Имеет один выход, все остальные стороны - входные. \
tile.engineersdecor.passive_fluid_accumulator.help=§6Вакуумный всасывающий жидкостный коллектор.§r Имеет один выход, все остальные стороны входные. \
Сливает жидкости из соседних резервуаров при выкачивании жидкости из выходного порта.
#-----------------------------------------------------------------------------------------------------------
tile.engineersdecor.factory_dropper.name=Фабричный выбрасыватель
tile.engineersdecor.factory_dropper.help=§6Выбрасыватель подходит для продвинутой автоматизации производства.§r Имеет двенадцать выборочных слотов. \
Сила броска, угол, размер стопки и задержка настраиваются в GUI. Три слота сравнения стека \
tile.engineersdecor.factory_dropper.help=§6Выбрасыватель подходит для продвинутой автоматизации производства.§r Имеет 12 выборочных слотов. \
Сила броска, угол, размер стопки и задержка настраиваются в GUI. 3 слота сравнения стека \
с логическим И или ИЛИ могут использоваться в качестве внутреннего источника запуска. \
Внутренний триггер может быть И или ИЛИ с внешним триггерным сигналом красного камня. \
Триггерные кнопки симуляции для тестирования. Предварительно открывает дверцу затвора, \
@ -154,7 +154,7 @@ tile.engineersdecor.small_mineral_smelter.name=Small Mineral Melting Furnace
tile.engineersdecor.sign_decor.name=Табличка с надписью (Логотип Engineer's decor)
tile.engineersdecor.sign_decor.help=§Это не должно быть крафтовым или видимым в JEI. Используется для творческой вкладки и скриншотов.
tile.engineersdecor.sign_hotwire.name=Знак «Осторожно, под напряжением»
tile.engineersdecor.sign_hotwire.help=§6Предупреждение об опасности поражения электрическим током. Не забудьте разместить вокруг HV, иначе у вас будет штраф при следующей проверке.
tile.engineersdecor.sign_hotwire.help=§6Предупреждение об опасности поражения электрическим током. Не забудьте разместить около высокого напряжения, иначе у вас будет штраф при следующей проверке.
tile.engineersdecor.sign_mindstep.name=Знак «Осторожно, там ступеньки!»
tile.engineersdecor.sign_mindstep.help=§6Размещается на стенах (горизонтально)
tile.engineersdecor.sign_danger.name=Знак «Осторожно, там опасность»
@ -162,8 +162,8 @@ tile.engineersdecor.sign_danger.help=§6Общее предупреждение
tile.engineersdecor.sign_defense.name=Знак «Осторожно, впереди система обороны»
tile.engineersdecor.sign_defense.help=§6Предупреждающий знак для турелей, катушек Тесла и ловушек.
tile.engineersdecor.sign_factoryarea.name=Знак «Заводская зона»
tile.engineersdecor.sign_factoryarea.help=§6Знак для зданий или областей, где находятся действительно большие машины.
tile.engineersdecor.sign_exit.name=Exit Sign
tile.engineersdecor.sign_factoryarea.help=§6Там дверь, пожалуйста...
tile.engineersdecor.sign_exit.name=Знак «Выход»
#tile.engineersdecor.sign_factoryarea.help=§6There's the door, please ...
#-----------------------------------------------------------------------------------------------------------
tile.engineersdecor.halfslab_rebar_concrete.name=Арматура для бетона
@ -184,49 +184,49 @@ tile.engineersdecor.halfslab_sheetmetal_aluminum.name=Часть алюмини
tile.engineersdecor.halfslab_sheetmetal_aluminum.help=§6Вертикально наращиваемая часть.§rПравый/левый щелчок со стеком частей на верхней или нижней поверхности для добавления/удаления частей.
#-----------------------------------------------------------------------------------------------------------
engineersdecor.config.title=Engineer's Decor конфигурация
engineersdecor.config.title=Конфигурация "Engineer's Decor"
engineersdecor.config.pattern_excludes=Pattern excludes
engineersdecor.config.pattern_includes=Pattern includes
engineersdecor.config.without_clinker_bricks=Without clinker bricks
engineersdecor.config.without_slag_bricks=Without slag bricks
engineersdecor.config.without_rebar_concrete=Without rebar concrete
engineersdecor.config.without_walls=Without walls
engineersdecor.config.without_stairs=Without stairs
engineersdecor.config.without_ie_concrete_wall=Without concrete wall
engineersdecor.config.without_panzer_glass=Without panzer glass
engineersdecor.config.without_crafting_table=Without crafting table
engineersdecor.config.without_lab_furnace=Without lab furnace
engineersdecor.config.without_electrical_furnace=Without electrical furnace
engineersdecor.config.without_treated_wood_furniture=Without tr. wood furniture
engineersdecor.config.without_windows=Without windows
engineersdecor.config.without_light_sources=Without lights
engineersdecor.config.without_ladders=Without ladders
engineersdecor.config.without_chair_sitting=Without chair sitting
engineersdecor.config.without_mob_chair_sitting=Without chair mob sitting
engineersdecor.config.without_ladder_speed_boost=Without ladder speed boost
engineersdecor.config.without_crafting_table_history=Without crafting table history
engineersdecor.config.without_valves=Without valves
engineersdecor.config.without_passive_fluid_accumulator=Without fluid accumulator
engineersdecor.config.without_waste_incinerator=Without waste incinerator
engineersdecor.config.without_sign_plates=Without signs
engineersdecor.config.without_factory_dropper=Without factory dropper
engineersdecor.config.without_slabs=Without slabs
engineersdecor.config.without_halfslabs=Without slab slices
engineersdecor.config.without_direct_slab_pickup=Without slab pickup
engineersdecor.config.without_poles=Without poles
engineersdecor.config.without_hsupports=Without h. supports
engineersdecor.config.without_tooltips=Without tooltips
engineersdecor.config.without_recipes=Without recipes
engineersdecor.config.furnace_smelting_speed_percent=Furnace: Smelting speed %
engineersdecor.config.furnace_fuel_efficiency_percent=Furnace: Fuel efficiency %
engineersdecor.config.furnace_boost_energy_consumption=Furnace: Boost energy
engineersdecor.config.chair_mob_sitting_probability_percent=Chairs: Sitting chance %
engineersdecor.config.chair_mob_standup_probability_percent="Chairs: Stand up chance %"
engineersdecor.config.with_crafting_quickmove_buttons=Crafting table: Move buttons
engineersdecor.config.pipevalve_max_flowrate=Valves: Max flow rate
engineersdecor.config.pipevalve_redstone_gain=Valves: Redstone slope
engineersdecor.config.e_furnace_speed_percent=E-furnace: Smelting speed %
engineersdecor.config.e_furnace_power_consumption=E-furnace: Power consumption
engineersdecor.config.without_clinker_bricks=Без клинкерных кирпичей
engineersdecor.config.without_slag_bricks=Без шлаковых кирпичей
engineersdecor.config.without_rebar_concrete=Без железобетона
engineersdecor.config.without_walls=Без стен
engineersdecor.config.without_stairs=Без ступенек
engineersdecor.config.without_ie_concrete_wall=Без бетонных стен
engineersdecor.config.without_panzer_glass=Без бронированного стекла
engineersdecor.config.without_crafting_table=Без верстака
engineersdecor.config.without_lab_furnace=Без лабораторной печи
engineersdecor.config.without_electrical_furnace=Без электрической печи
engineersdecor.config.without_treated_wood_furniture=Без мебели из обр-ого дерева
engineersdecor.config.without_windows=Без окон
engineersdecor.config.without_light_sources=Без светильников
engineersdecor.config.without_ladders=Без лестниц
engineersdecor.config.without_chair_sitting=Без стульев для сидения
engineersdecor.config.without_mob_chair_sitting=Без стульев для сидения для существ
engineersdecor.config.without_ladder_speed_boost=Без ускорения на лестницах
engineersdecor.config.without_crafting_table_history=Без истории крафта в столе
engineersdecor.config.without_valves=Без клапанов
engineersdecor.config.without_passive_fluid_accumulator=Без жидкостного накопителя
engineersdecor.config.without_waste_incinerator=Без сжигателя отходов
engineersdecor.config.without_sign_plates=Без знаков
engineersdecor.config.without_factory_dropper=Без фабричного выбрасывателя
engineersdecor.config.without_slabs=Без плит
engineersdecor.config.without_halfslabs=Без частей плит
engineersdecor.config.without_direct_slab_pickup=Без поднятия плит
engineersdecor.config.without_poles=Без столбов
engineersdecor.config.without_hsupports=Без опор
engineersdecor.config.without_tooltips=Без подсказок
engineersdecor.config.without_recipes=Без рецептов
engineersdecor.config.furnace_smelting_speed_percent=Печь: скорость плавления %
engineersdecor.config.furnace_fuel_efficiency_percent=Печь: Эффективность топлива %
engineersdecor.config.furnace_boost_energy_consumption=Печь: Энергия ускорения
engineersdecor.config.chair_mob_sitting_probability_percent=Стулья: Шанс сесть %
engineersdecor.config.chair_mob_standup_probability_percent="Стулья: шанс встать %"
engineersdecor.config.with_crafting_quickmove_buttons=Верстак из обр-ого дерева: движение кнопок
engineersdecor.config.pipevalve_max_flowrate=Клапаны: максимальная скорость потока
engineersdecor.config.pipevalve_redstone_gain=Клапаны: спад красного камня
engineersdecor.config.e_furnace_speed_percent=Электропечь: скорость плавления %
engineersdecor.config.e_furnace_power_consumption=Электропечь: потребление энергии
#-----------------------------------------------------------------------------------------------------------
# EOF

View file

@ -86,7 +86,7 @@ tile.engineersdecor.treated_wood_table.help=§6坚固的四足木桌.
tile.engineersdecor.steel_table.name=Steel Table
#tile.engineersdecor.steel_table.help=§6Robust four-legged steel table.
tile.engineersdecor.steel_floor_grating.name=Steel Floor Grating
#tile.engineersdecor.steel_floor_grating.help=§6Decorative steel floor covering.§r Top aligned.
#tile.engineersdecor.steel_floor_grating.help=§6Decorative steel floor covering.§r Top aligned. Items fall through.
tile.engineersdecor.treated_wood_stool.name=Treated Wood Stool
#tile.engineersdecor.treated_wood_stool.help=§6Robust Wood Stool.§r Indoor and outdoor use.
tile.engineersdecor.treated_wood_crafting_table.name=Treated Wood Crafting Table

View file

@ -104,7 +104,7 @@
},
{
"from": [0, 14, 14],
"to": [16, 15.875, 16],
"to": [16, 16, 16],
"faces": {
"north": {"texture": "#s"},
"east": {"texture": "#s"},
@ -116,7 +116,7 @@
},
{
"from": [0, 14, 0],
"to": [16, 15.875, 2],
"to": [16, 16, 2],
"faces": {
"north": {"texture": "#s"},
"east": {"texture": "#s"},
@ -128,7 +128,7 @@
},
{
"from": [14, 14, 2],
"to": [16, 15.875, 14],
"to": [16, 16, 14],
"faces": {
"north": {"texture": "#s"},
"east": {"texture": "#s"},
@ -140,7 +140,7 @@
},
{
"from": [2, 15.5, 12.75],
"to": [14, 15.875, 13.25],
"to": [14, 16, 13.25],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -153,7 +153,7 @@
},
{
"from": [2, 15.5, 13.75],
"to": [14, 15.875, 14],
"to": [14, 16, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -166,7 +166,7 @@
},
{
"from": [2, 15.5, 11.75],
"to": [14, 15.875, 12.25],
"to": [14, 16, 12.25],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -179,7 +179,7 @@
},
{
"from": [2, 15.5, 10.75],
"to": [14, 15.875, 11.25],
"to": [14, 16, 11.25],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -192,7 +192,7 @@
},
{
"from": [2, 15.5, 9.75],
"to": [14, 15.875, 10.25],
"to": [14, 16, 10.25],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -205,7 +205,7 @@
},
{
"from": [2, 15.5, 8.75],
"to": [14, 15.875, 9.25],
"to": [14, 16, 9.25],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -218,7 +218,7 @@
},
{
"from": [2, 15.5, 7.75],
"to": [14, 15.875, 8.25],
"to": [14, 16, 8.25],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -231,7 +231,7 @@
},
{
"from": [2, 15.5, 6.75],
"to": [14, 15.875, 7.25],
"to": [14, 16, 7.25],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -244,7 +244,7 @@
},
{
"from": [2, 15.5, 5.75],
"to": [14, 15.875, 6.25],
"to": [14, 16, 6.25],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -257,7 +257,7 @@
},
{
"from": [2, 15.5, 4.75],
"to": [14, 15.875, 5.25],
"to": [14, 16, 5.25],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -270,7 +270,7 @@
},
{
"from": [2, 15.5, 3.75],
"to": [14, 15.875, 4.25],
"to": [14, 16, 4.25],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -283,7 +283,7 @@
},
{
"from": [2, 15.5, 2.75],
"to": [14, 15.875, 3.25],
"to": [14, 16, 3.25],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -296,7 +296,7 @@
},
{
"from": [2, 15.5, 2],
"to": [14, 15.875, 2.25],
"to": [14, 16, 2.25],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]},
"faces": {
"north": {"texture": "#s"},
@ -309,7 +309,7 @@
},
{
"from": [0, 14, 2],
"to": [2, 15.875, 14],
"to": [2, 16, 14],
"faces": {
"north": {"texture": "#s"},
"east": {"texture": "#s"},

View file

@ -1,5 +1,6 @@
{
"parent": "block/cube",
"ambientocclusion": false,
"textures": {
"frame": "engineersdecor:blocks/iestyle/treated_wood_rough_texture",
"particle": "engineersdecor:blocks/iestyle/treated_wood_rough_texture"
@ -9,47 +10,47 @@
"from": [1, 0, 6.5],
"to": [15, 1, 9.5],
"faces": {
"north": {"uv": [1, 15, 15, 16], "texture": "#frame"},
"south": {"uv": [1, 15, 15, 16], "texture": "#frame"},
"up": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"},
"down": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"}
"north": {"texture": "#frame"},
"south": {"texture": "#frame"},
"up": {"texture": "#frame"},
"down": {"texture": "#frame"}
}
},
{
"from": [0, 0, 6.5],
"to": [1, 16, 9.5],
"faces": {
"north": {"uv": [15, 0, 16, 16], "texture": "#frame"},
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#frame"},
"south": {"uv": [0, 0, 1, 16], "texture": "#frame"},
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#frame"},
"up": {"uv": [0, 6.5, 1, 9.5], "texture": "#frame"},
"down": {"uv": [0, 6.5, 1, 9.5], "texture": "#frame"}
"north": {"texture": "#frame"},
"east": {"texture": "#frame"},
"south": {"texture": "#frame"},
"west": {"texture": "#frame"},
"up": {"texture": "#frame"},
"down": {"texture": "#frame"}
}
},
{
"from": [1, 15, 6.5],
"to": [15, 16, 9.5],
"faces": {
"north": {"uv": [1, 0, 15, 1], "texture": "#frame"},
"south": {"uv": [1, 0, 15, 1], "texture": "#frame"},
"up": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"},
"down": {"uv": [1, 6.5, 15, 9.5], "texture": "#frame"}
"north": {"texture": "#frame"},
"south": {"texture": "#frame"},
"up": {"texture": "#frame"},
"down": {"texture": "#frame"}
}
},
{
"from": [15, 0, 6.5],
"to": [16, 16, 9.5],
"faces": {
"north": {"uv": [0, 0, 1, 16], "texture": "#frame"},
"east": {"uv": [6.5, 0, 9.5, 16], "texture": "#frame"},
"south": {"uv": [15, 0, 16, 16], "texture": "#frame"},
"west": {"uv": [6.5, 0, 9.5, 16], "texture": "#frame"},
"up": {"uv": [15, 6.5, 16, 9.5], "texture": "#frame"},
"down": {"uv": [15, 6.5, 16, 9.5], "texture": "#frame"}
"north": {"texture": "#frame"},
"east": {"texture": "#frame"},
"south": {"texture": "#frame"},
"west": {"texture": "#frame"},
"up": {"texture": "#frame"},
"down": {"texture": "#frame"}
}
}
],
],
"display": {
"ground": {
"scale": [0.2, 0.2, 0.2]

View file

@ -0,0 +1,24 @@
{
"conditions": [
{
"type": "engineersdecor:grc",
"result": "engineersdecor:passive_fluid_accumulator",
"required": ["engineersdecor:straight_pipe_valve"],
"missing": ["immersiveengineering:fluid_pipe", "immersiveengineering:mechanical_component"]
}
],
"type": "minecraft:crafting_shaped",
"pattern": [
"SPS",
"P P",
"SPS"
],
"key": {
"P": { "item": "engineersdecor:straight_pipe_valve", "data": 0 },
"S": { "item": "minecraft:iron_ingot", "data": 0 }
},
"result": {
"item": "engineersdecor:passive_fluid_accumulator",
"count": 1
}
}

View file

@ -0,0 +1,24 @@
{
"conditions": [
{
"type": "engineersdecor:grc",
"result": "engineersdecor:small_waste_incinerator",
"missing": ["immersiveengineering:material"]
}
],
"type": "minecraft:crafting_shaped",
"pattern": [
"HPP",
"PHP",
"PLP"
],
"key": {
"H": { "item": "minecraft:hopper", "data": 0 },
"P": { "item": "minecraft:iron_ingot", "data": 0 },
"L": { "item": "minecraft:lava_bucket", "data": 0 }
},
"result": {
"item": "engineersdecor:small_waste_incinerator",
"count": 1
}
}

View file

@ -0,0 +1,22 @@
{
"conditions": [
{
"type": "engineersdecor:grc",
"result": "engineersdecor:straight_pipe_valve",
"required": ["engineersdecor:thick_steel_pole"],
"missing": ["immersiveengineering:fluid_pipe", "immersiveengineering:mechanical_component"]
}
],
"type": "minecraft:crafting_shaped",
"pattern": [
"PIP"
],
"key": {
"P": { "item": "engineersdecor:thick_steel_pole", "data": 0 },
"I": { "item": "minecraft:iron_ingot", "data": 0 }
},
"result": {
"item": "engineersdecor:straight_pipe_valve",
"count": 1
}
}

View file

@ -0,0 +1,19 @@
{
"conditions": [
{
"type": "engineersdecor:grc",
"result": "engineersdecor:straight_pipe_valve",
"required": ["engineersdecor:straight_pipe_valve"],
"missing": ["immersiveengineering:redstone_connector"]
}
],
"type": "minecraft:crafting_shapeless",
"ingredients": [
{ "item": "engineersdecor:straight_pipe_valve", "data": 0 },
{ "item": "minecraft:repeater", "data": 0 }
],
"result": {
"item": "engineersdecor:straight_pipe_valve_redstone",
"count": 1
}
}

37
1.13/.gitignore vendored
View file

@ -1,37 +0,0 @@
bin
*.launch
.settings
.metadata
.classpath
.project
out
*.ipr
*.iws
*.iml
.idea
build
.gradle
*.tmp
*.log
*.jks
eclipse
run
tests
/dist
signing.*
src/main/java/archive
src/main/resources/assets/minecraft
.vscode
/classes
/dev
/tmp
/archive
/assets-src
.gimp
*.xcf
desktop.ini
.DS_Store
Thumbs.db
forge*changelog.txt
/*.txt
mcmodsrepo

View file

@ -1,77 +0,0 @@
# @file Makefile
# @author Stefan Wilhelm (wile)
# @license MIT
#
# GNU Make makefile based build relay.
# Note for reviewers/clones: This file is a auxiliary script for my setup.
# It's not needed to build the mod.
#
MOD_JAR_PREFIX=engineersdecor-
MOD_JAR=$(filter-out %-sources.jar,$(wildcard build/libs/${MOD_JAR_PREFIX}*.jar))
ifeq ($(OS),Windows_NT)
GRADLE=gradlew.bat --no-daemon
GRADLE_STOP=gradlew.bat --stop
DJS=djs
else
GRADLE=./gradlew --no-daemon
GRADLE_STOP=./gradlew --stop
DJS=djs
endif
wildcardr=$(foreach d,$(wildcard $1*),$(call wildcardr,$d/,$2) $(filter $(subst *,%,$2),$d))
#
# Targets
#
.PHONY: default mod init clean clean-all mrproper all run install sanatize dist-check dist start-server
default: mod
all: clean clean-all mod | install
mod:
@echo "[1.13] Building mod using gradle ..."
@$(GRADLE) build $(GRADLE_OPTS)
clean:
@echo "[1.13] Cleaning ..."
@rm -f build/libs/*
@$(GRADLE) clean
clean-all:
@echo "[1.13] Cleaning using gradle ..."
@rm -f dist/*
@rm -rf run/logs/
@rm -rf run/crash-reports/
@$(GRADLE) clean cleanCache
mrproper: clean-all
@rm -f meta/*.*
@rm -rf run/
@rm -rf out/
@rm -f .project
@rm -f .classpath
init:
@echo "[1.13] Initialising eclipse workspace using gradle ..."
@$(GRADLE) eclipse
sanatize:
@echo "[1.13] Running sanatising tasks ..."
@djs tasks.js trailing-whitespaces
@djs tasks.js tabs-to-spaces
@djs tasks.js sync-languages
@djs tasks.js version-check
@djs tasks.js update-json
@git status -s .
dist-check:
@echo "[1.13] Running dist checks ..."
@djs tasks.js dist-check
dist: sanatize dist-check clean-all mod
@echo "[1.13] Distribution files ..."
@mkdir -p dist
@cp build/libs/$(MOD_JAR_PREFIX)* dist/
@djs tasks.js dist

View file

@ -1,98 +0,0 @@
// @file build.gradle
// Engineer's decor mod gradle build relay (mc1.13.2)
buildscript {
repositories {
maven { url = 'https://files.minecraftforge.net/maven' }
jcenter()
mavenCentral()
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
}
}
apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8'
//-----------------------------------------------------------------------------
version = "${version_engineersdecor}"
group = "wile.engineersdecor"
archivesBaseName = "engineersdecor-${version_minecraft}"
// def signing = { ->
// def sp = new Properties()
// if(file("signing.properties").exists()) file("signing.properties").withInputStream { sp.load(it) }
// return sp
// }()
// def git_version = { ->
// def stdout = new ByteArrayOutputStream()
// exec {
// commandLine 'git', 'log', '-1', '--format=%h'
// standardOutput = stdout
// }
// return stdout.toString().trim()
// }()
minecraft {
mappings channel: 'snapshot', version: '20180921-1.13'
// accessTransformer = file('build/resources/main/META-INF/accesstransformer.cfg')
runs {
client {
workingDirectory project.file('run')
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
property 'forge.logging.console.level', 'debug'
mods {
engineersdecor {
source sourceSets.main
}
}
}
server {
workingDirectory project.file('run')
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
property 'forge.logging.console.level', 'debug'
mods {
engineersdecor {
source sourceSets.main
}
}
}
}
}
dependencies {
minecraft "net.minecraftforge:forge:${version_forge_minecraft}"
}
jar {
manifest {
attributes([
"Specification-Title": "engineersdecor",
"Specification-Vendor": "wilechaote",
"Specification-Version": "1", // We are version 1 of ourselves
"Implementation-Title": project.name,
"Implementation-Version": "${version_engineersdecor}",
"Implementation-Vendor" :"wilechaote",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
}
def reobfFile = file("$buildDir/reobfJar/output.jar")
def reobfArtifact = artifacts.add('default', reobfFile) {
type 'jar'
builtBy 'reobfJar'
}
publishing {
publications {
mavenJava(MavenPublication) {
artifact reobfArtifact
}
}
repositories {
maven {
url "file:///${project.projectDir}/mcmodsrepo"
}
}
}

View file

@ -1,14 +0,0 @@
# @file gradle.properties
org.gradle.daemon=false
org.gradle.jvmargs=-Xmx8G
version_minecraft=1.13.2
version_forge_minecraft=1.13.2-25.0.219
version_engineersdecor=1.0.7-b6
#
# jar signing data loaded from signing.properties in the project root.
#
#signing.keystore_file=
#signing.keystore_alias=
#signing.keystore_pass=
#signing.keystore_keypass=
#fingerprint_sha1.fp_sha1=

Binary file not shown.

View file

@ -1,5 +0,0 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip

172
1.13/gradlew vendored
View file

@ -1,172 +0,0 @@
#!/usr/bin/env sh
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"

84
1.13/gradlew.bat vendored
View file

@ -1,84 +0,0 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

View file

@ -1,22 +0,0 @@
{
"homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
"1.13.2": {
"1.0.7-b5": "[A] Added translation zh_cn (PR#33, XuyuEre)\n[M] Updated textures.\n[M] Updated 1st/3rd person item model rotations/translations.",
"1.0.7-b4": "[A] Added stained clinker brick block/stairs.",
"1.0.7-b3": "[V] Version assignment: All features of v1.0.7-b3-1.12.2 that can be ported to 1.13.2 implemented/prepared, therefore version re-assigned.\n[A] Added \"Factory Area\" sign.\n[M] Sign background colors adapted.\n[M] EN lang file updated (PR#28, Voxelo).",
"1.0.4-b6": "[A] Added Small Electrical Furnace.\n[A] Added Small Waste Incinerator.\n[A] Experimental: Added fluid check valve.\n[A] Experimental: Added fluid redstone controlled valve.\n[A] Experimental: Added fluid redstone analog valve.\n[A] Experimental: Added passive fluid accumulator.",
"1.0.4-b5": "[A] Added Factory Dropper.\n[A] Added \"Caution Defense System Ahead\" sign.",
"1.0.4-b4": "[U] Updated forge dependency: REQUIRES FORGE >= 1.13.2-25.0.214.\n[A] Added sign \"Electrical hazard\"/\"Caution hot wire\".\n[A] Added sign \"Caution dangerous there\" (skull/bones).\n[A] Added horizontal steel double-T support beam with pole connections.",
"1.0.4-b3": "[V] Version assignment: All features of v1.0.4-b3-1.12.2 that can be ported to 1.13.2 implemented/prepared, therefore version re-iterated.\n[A] Lab furnace ported to 1.13.\n[A] Treated wood crafting table: Added crafting table history/quick craft.\n[A] Treated wood stool: Sitting on the stool implemented.\n[A] Steel poles (thick/thin) with support heads/foots added.\n[E] Prepared position dependent texture variation for walls (clinker, slag, rebar concrete), missing one forge feature yet for completion.\n[E] Prepared multi-layer rendering for windows, needs forge feature implementation.",
"1.0.2-b3": "[A] Added treated wood window.\n[A] Added treated wood pole support.\n[A] Added treated wood pole head.\n[A] Added steel framed window.",
"1.0.2-b2": "[A] Added wall decomposition recipes.\n[A] Added slag brick wall.\n[M] Climbing/descending mod ladders is faster when looking up or down and not sneaking.\n[M] Panzer glass material definition changed.",
"1.0.2-b1": "[A] Added Treated wood crafting table.\n[A] Added decomposition recipes for stairs and tiles.\n[N] Note: All v1.0.2-b1-mc1.12.2 blocks are ported to 1.13.2 (alpha -^ beta version).\n[N] Note: Until IE is out for 1.13.2, the recipes are temporary with vanilla items.",
"1.0.0-a3": "[A] Added iron inset light.\n[A] Added rebar concrete tile.\n[A] Added rebar concrete tile stairs.\n[A] Added clinker brick wall.\n[A] Added treated wood stool.\n[A] Added treated window sill.",
"1.0.0-a2": "[A] Added panzer glass.",
"1.0.0-a1": "[A] Initial port to 1.13.2 with Forge beta."
},
"promos": {
"1.13.2-recommended": "",
"1.13.2-latest": "1.0.7-b5"
}
}

View file

@ -1,79 +0,0 @@
## Engineer's Decor (MC1.13.2)
Mod sources for Minecraft version 1.13.2.
- Description, credits, and features: Please see the readme in the repository root.
- Compiled mod distribution channel is curseforge: https://www.curseforge.com/minecraft/mc-mods/engineers-decor/files.
----
## Version history
~ v1.0.7-b6 [F] Fixed recipe collision of Metal Rung Ladder (issue #37,
thx ProsperCraft for reporting).
- v1.0.7-b5 [A] Added translation zh_cn (PR#33, XuyuEre)
[M] Updated textures.
[M] Updated 1st/3rd person item model rotations/translations.
- v1.0.7-b4 [A] Added stained clinker brick block/stairs.
- v1.0.7-b3 [V] Version assignment: All features of v1.0.7-b3-1.12.2 that can be ported
to 1.13.2 implemented/prepared, therefore version re-assigned.
[A] Added "Factory Area" sign.
[M] Sign background colors adapted.
[M] EN lang file updated (PR#28, Voxelo).
- v1.0.4-b6 [A] Added Small Electrical Furnace.
[A] Added Small Waste Incinerator.
[A] Experimental: Added fluid check valve.
[A] Experimental: Added fluid redstone controlled valve.
[A] Experimental: Added fluid redstone analog valve.
[A] Experimental: Added passive fluid accumulator.
- v1.0.4-b5 [A] Added Factory Dropper.
[A] Added "Caution Defense System Ahead" sign.
- v1.0.4-b4 [U] Updated forge dependency: REQUIRES FORGE >= 1.13.2-25.0.214.
[A] Added sign "Electrical hazard"/"Caution hot wire".
[A] Added sign "Caution dangerous there" (skull/bones).
[A] Added horizontal steel double-T support beam with pole connections.
- v1.0.4-b3 [V] Version assignment: All features of v1.0.4-b3-1.12.2 that can be ported
to 1.13.2 implemented/prepared, therefore version re-iterated.
[A] Lab furnace ported to 1.13.
[A] Treated wood crafting table: Added crafting table history/quick craft.
[A] Treated wood stool: Sitting on the stool implemented.
[A] Steel poles (thick/thin) with support heads/foots added.
[E] Prepared position dependent texture variation for walls (clinker, slag, rebar concrete),
missing one forge feature yet for completion.
[E] Prepared multi-layer rendering for windows, needs forge feature implementation.
- v1.0.2-b3 [A] Added treated wood window.
[A] Added treated wood pole support.
[A] Added treated wood pole head.
[A] Added steel framed window.
- v1.0.2-b2 [A] Added wall decomposition recipes.
[A] Added slag brick wall.
[M] Climbing/descending mod ladders is faster when looking up or down and not sneaking.
[M] Panzer glass material definition changed.
- v1.0.2-b1 [A] Added Treated wood crafting table.
[A] Added decomposition recipes for stairs and tiles.
[N] Note: All v1.0.2-b1-mc1.12.2 blocks are ported to 1.13.2 (alpha -^ beta version).
[N] Note: Until IE is out for 1.13.2, the recipes are temporary with vanilla items.
- v1.0.0-a3 [A] Added iron inset light.
[A] Added rebar concrete tile.
[A] Added rebar concrete tile stairs.
[A] Added clinker brick wall.
[A] Added treated wood stool.
[A] Added treated window sill.
- v1.0.0-a2 [A] Added panzer glass.
- v1.0.0-a1 [A] Initial port to 1.13.2 with Forge beta.
----

View file

@ -1,100 +0,0 @@
package wile.engineersdecor;
import net.minecraft.item.ItemGroup;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.crafting.CraftingHelper;
import wile.engineersdecor.blocks.ModBlocks;
import wile.engineersdecor.detail.ModConfig;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.model.obj.OBJLoader;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent;
import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import wile.engineersdecor.detail.RecipeCondModSpecific;
@Mod("engineersdecor")
public class ModEngineersDecor
{
public static final String MODID = "engineersdecor"; // fixed name for double checks
private static final Logger LOGGER = LogManager.getLogger();
public ModEngineersDecor()
{
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onSetup);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onSendImc);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onRecvImc);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onClientSetup);
MinecraftForge.EVENT_BUS.register(this);
}
public static final Logger logger() { return LOGGER; }
//
// Events
//
private void onSetup(final FMLCommonSetupEvent event)
{
ModLoadingContext.get().registerConfig(net.minecraftforge.fml.config.ModConfig.Type.COMMON, ModConfig.conf_spec);
LOGGER.info("Registering recipe condition processor ...");
CraftingHelper.register(new ResourceLocation(MODID, "grc"), new RecipeCondModSpecific());
}
private void onClientSetup(final FMLClientSetupEvent event)
{} // Currently not needed: OBJLoader.INSTANCE.addDomain(ModEngineersDecor.MODID);
private void onSendImc(final InterModEnqueueEvent event)
{}
private void onRecvImc(final InterModProcessEvent event)
{}
@SubscribeEvent
public void onServerStarting(FMLServerStartingEvent event)
{}
@Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)
public static class RegistryEvents
{
@SubscribeEvent
public static void onBlocksRegistry(final RegistryEvent.Register<Block> event)
{ ModBlocks.registerBlocks(event); }
@SubscribeEvent
public static void onItemRegistry(final RegistryEvent.Register<Item> event)
{ ModBlocks.registerItemBlocks(event); }
}
//
// Sided proxy functionality (skel)
//
public static ISidedProxy proxy = DistExecutor.runForDist(()->ClientProxy::new, ()->ServerProxy::new);
public interface ISidedProxy {}
public static final class ClientProxy implements ISidedProxy {}
public static final class ServerProxy implements ISidedProxy {}
//
// Item group / creative tab
//
public static final ItemGroup ITEMGROUP = (new ItemGroup("tab" + MODID) {
@OnlyIn(Dist.CLIENT)
public ItemStack createIcon()
{ return new ItemStack(ModBlocks.TREATED_WOOD_LADDER); }
});
}

View file

@ -1,73 +0,0 @@
/*
* @file BlockDecorFull.java
* @author Stefan Wilhelm (wile)
* @copyright (C) 2019 Stefan Wilhelm
* @license MIT (see https://opensource.org/licenses/MIT)
*
* Common functionality class for decor blocks.
* Mainly needed for:
* - MC block defaults.
* - Tooltip functionality
* - Model initialisation
*/
package wile.engineersdecor.blocks;
import wile.engineersdecor.detail.ModAuxiliaries;
import net.minecraft.block.Block;
import net.minecraft.block.material.EnumPushReaction;
import net.minecraft.block.state.IBlockState;
import net.minecraft.item.ItemStack;
import net.minecraft.world.IBlockReader;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.util.*;
import net.minecraft.util.text.ITextComponent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import javax.annotation.Nullable;
import java.util.List;
public class BlockDecor extends Block
{
// The config combines some aspects of blocks, allowing to define different behaviour at construction time, without excessive polymorphy.
// It's an old school flag set as it is used internally only and shall not have as littlt impact on performance as possible.
public final long config;
public static final long CFG_DEFAULT = 0x0000000000000000L; // no special config
public static final long CFG_CUTOUT = 0x0000000000000001L; // cutout rendering
public static final long CFG_HORIZIONTAL = 0x0000000000000002L; // horizontal block, affects bounding box calculation at construction time
public static final long CFG_HORIZIONTAL_PLACEMENT = 0x0000000000000004L; // placed in the horizontzal direction the player is looking when placing.
public static final long CFG_WALL_DOOR_CONNECTION = 0x0000000000000008L; // wall block connects to fence gates and doors.
public BlockDecor(long config, Block.Properties properties)
{ super(properties); this.config = config; }
@Override
@OnlyIn(Dist.CLIENT)
public void addInformation(ItemStack stack, @Nullable IBlockReader world, List<ITextComponent> tooltip, ITooltipFlag flag)
{ ModAuxiliaries.Tooltip.addInformation(stack, world, tooltip, flag, true); }
@Override
@OnlyIn(Dist.CLIENT)
public BlockRenderLayer getRenderLayer()
{ return ((config & CFG_CUTOUT)!=0) ? BlockRenderLayer.CUTOUT : BlockRenderLayer.SOLID; }
@Override
@SuppressWarnings("deprecation")
public boolean isFullCube(IBlockState state)
{ return ((config & CFG_CUTOUT)==0); }
@Override
@SuppressWarnings("deprecation")
public boolean isNormalCube(IBlockState state)
{ return ((config & CFG_CUTOUT)==0); }
@Override
public boolean canSpawnInBlock()
{ return false; }
@Override
@SuppressWarnings("deprecation")
public EnumPushReaction getPushReaction(IBlockState state)
{ return EnumPushReaction.NORMAL; }
}

View file

@ -1,103 +0,0 @@
/*
* @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 net.minecraft.state.StateContainer;
import net.minecraft.util.math.shapes.VoxelShapes;
import wile.engineersdecor.detail.ModAuxiliaries;
import net.minecraft.item.BlockItemUseContext;
import net.minecraft.state.DirectionProperty;
import net.minecraft.block.Block;
import net.minecraft.block.BlockDirectional;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.IBlockState;
import net.minecraft.world.IBlockReader;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.Arrays;
public class BlockDecorDirected extends BlockDecor
{
public static final DirectionProperty FACING = BlockDirectional.FACING;
protected final ArrayList<VoxelShape> AABBs;
public BlockDecorDirected(long config, Block.Properties builder, final AxisAlignedBB unrotatedAABB)
{
super(config, builder);
setDefaultState(stateContainer.getBaseState().with(FACING, EnumFacing.UP));
final boolean is_horizontal = ((config & BlockDecor.CFG_HORIZIONTAL)!=0);
AABBs = new ArrayList<VoxelShape>(Arrays.asList(
VoxelShapes.create(ModAuxiliaries.getRotatedAABB(unrotatedAABB, EnumFacing.DOWN, is_horizontal)),
VoxelShapes.create(ModAuxiliaries.getRotatedAABB(unrotatedAABB, EnumFacing.UP, is_horizontal)),
VoxelShapes.create(ModAuxiliaries.getRotatedAABB(unrotatedAABB, EnumFacing.NORTH, is_horizontal)),
VoxelShapes.create(ModAuxiliaries.getRotatedAABB(unrotatedAABB, EnumFacing.SOUTH, is_horizontal)),
VoxelShapes.create(ModAuxiliaries.getRotatedAABB(unrotatedAABB, EnumFacing.WEST, is_horizontal)),
VoxelShapes.create(ModAuxiliaries.getRotatedAABB(unrotatedAABB, EnumFacing.EAST, is_horizontal)),
VoxelShapes.create(unrotatedAABB),
VoxelShapes.create(unrotatedAABB)
));
}
@Override
public boolean isFullCube(IBlockState state)
{ return false; }
@Override
public boolean isNormalCube(IBlockState state)
{ return false; }
@Override
public boolean canSpawnInBlock()
{ return false; }
@Override
@SuppressWarnings("deprecation")
public BlockFaceShape getBlockFaceShape(IBlockReader world, IBlockState state, BlockPos pos, EnumFacing face)
{ return BlockFaceShape.UNDEFINED; }
@Override
@SuppressWarnings("deprecation")
public VoxelShape getShape(IBlockState state, IBlockReader source, BlockPos pos)
{ return AABBs.get(((EnumFacing)state.get(FACING)).getIndex() & 0x7); }
@Override
@SuppressWarnings("deprecation")
public VoxelShape getCollisionShape(IBlockState state, IBlockReader world, BlockPos pos)
{ return getShape(state, world, pos); }
@Override
protected void fillStateContainer(StateContainer.Builder<Block, IBlockState> builder)
{ builder.add(FACING); }
@Override
@Nullable
public IBlockState getStateForPlacement(BlockItemUseContext context) {
if((config & CFG_HORIZIONTAL_PLACEMENT)!=0) {
// placement in direction the player is facing
return getDefaultState().with(FACING, context.getPlacementHorizontalFacing());
} else {
// default: placement on the face the player clicking
return getDefaultState().with(FACING, context.getFace());
}
}
@Override
@OnlyIn(Dist.CLIENT)
public BlockRenderLayer getRenderLayer()
{ return BlockRenderLayer.CUTOUT; }
}

View file

@ -1,49 +0,0 @@
/*
* @file BlockDecorFull.java
* @author Stefan Wilhelm (wile)
* @copyright (C) 2019 Stefan Wilhelm
* @license MIT (see https://opensource.org/licenses/MIT)
*
* Full block characteristics class. Explicitly overrides some
* `Block` methods to return faster due to exclusive block properties.
*/
package wile.engineersdecor.blocks;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.world.IBlockReader;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import wile.engineersdecor.detail.ModAuxiliaries;
import javax.annotation.Nullable;
import java.util.List;
public class BlockDecorFull extends BlockDecor
{
public BlockDecorFull(long config, Block.Properties properties)
{ super(config, properties); }
@Override
@OnlyIn(Dist.CLIENT)
public void addInformation(ItemStack stack, @Nullable IBlockReader world, List<ITextComponent> tooltip, ITooltipFlag flag)
{ ModAuxiliaries.Tooltip.addInformation(stack, world, tooltip, flag, true); }
@Override
@SuppressWarnings("deprecation")
public boolean isFullCube(IBlockState state)
{ return true; }
@Override
@SuppressWarnings("deprecation")
public boolean isNormalCube(IBlockState state)
{ return true; }
@Override
public boolean canSpawnInBlock()
{ return false; }
}

View file

@ -1,69 +0,0 @@
/*
* @file BlockDecorLadder.java
* @author Stefan Wilhelm (wile)
* @copyright (C) 2019 Stefan Wilhelm
* @license MIT (see https://opensource.org/licenses/MIT)
*
* Ladder block. The implementation is based on the vanilla
* net.minecraft.block.BlockLadder. Minor changes to enable
* later configuration (for block list based construction
* time configuration), does not drop when the block behind
* is broken, etc.
*/
package wile.engineersdecor.blocks;
import wile.engineersdecor.detail.ModAuxiliaries;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.*;
import net.minecraft.block.material.EnumPushReaction;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.util.math.shapes.VoxelShapes;
import net.minecraft.util.text.ITextComponent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraft.world.IBlockReader;
import net.minecraft.util.*;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import javax.annotation.Nullable;
import java.util.List;
public class BlockDecorLadder extends BlockLadder
{
protected static final AxisAlignedBB EDLADDER_UNROTATED_AABB = ModAuxiliaries.getPixeledAABB(3, 0, 0, 13, 16, 2);
protected static final VoxelShape EDLADDER_SOUTH_AABB = VoxelShapes.create(ModAuxiliaries.getRotatedAABB(EDLADDER_UNROTATED_AABB, EnumFacing.SOUTH, false));
protected static final VoxelShape EDLADDER_EAST_AABB = VoxelShapes.create(ModAuxiliaries.getRotatedAABB(EDLADDER_UNROTATED_AABB, EnumFacing.EAST, false));
protected static final VoxelShape EDLADDER_WEST_AABB = VoxelShapes.create(ModAuxiliaries.getRotatedAABB(EDLADDER_UNROTATED_AABB, EnumFacing.WEST, false));
protected static final VoxelShape EDLADDER_NORTH_AABB = VoxelShapes.create(ModAuxiliaries.getRotatedAABB(EDLADDER_UNROTATED_AABB, EnumFacing.NORTH, false));
public BlockDecorLadder(long config, Block.Properties builder)
{ super(builder); }
@Override
@OnlyIn(Dist.CLIENT)
public void addInformation(ItemStack stack, @Nullable IBlockReader world, List<ITextComponent> tooltip, ITooltipFlag flag)
{ ModAuxiliaries.Tooltip.addInformation(stack, world, tooltip, flag, true); }
public VoxelShape getShape(IBlockState state, IBlockReader worldIn, BlockPos pos)
{
switch ((EnumFacing)state.get(FACING)) {
case NORTH: return EDLADDER_NORTH_AABB;
case SOUTH: return EDLADDER_SOUTH_AABB;
case WEST: return EDLADDER_WEST_AABB;
default: return EDLADDER_EAST_AABB;
}
}
@Override
public boolean canSpawnInBlock()
{ return false; }
@Override
@SuppressWarnings("deprecation")
public EnumPushReaction getPushReaction(IBlockState state)
{ return EnumPushReaction.NORMAL; }
}

View file

@ -1,45 +0,0 @@
/*
* @file BlockDecorStairs.java
* @author Stefan Wilhelm (wile)
* @copyright (C) 2019 Stefan Wilhelm
* @license MIT (see https://opensource.org/licenses/MIT)
*
* Stairs and roof blocks, almost entirely based on vanilla stairs.
*/
package wile.engineersdecor.blocks;
import net.minecraft.block.*;
import net.minecraft.block.material.EnumPushReaction;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.world.IBlockReader;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import wile.engineersdecor.detail.ModAuxiliaries;
import javax.annotation.Nullable;
import java.util.List;
public class BlockDecorStairs extends BlockStairs
{
public BlockDecorStairs(long config, IBlockState state, Block.Properties properties)
{ super(state, properties); }
@Override
@OnlyIn(Dist.CLIENT)
public void addInformation(ItemStack stack, @Nullable IBlockReader world, List<ITextComponent> tooltip, ITooltipFlag flag)
{ ModAuxiliaries.Tooltip.addInformation(stack, world, tooltip, flag, true); }
@Override
public boolean canSpawnInBlock()
{ return false; }
@Override
@SuppressWarnings("deprecation")
public EnumPushReaction getPushReaction(IBlockState state)
{ return EnumPushReaction.NORMAL; }
}

View file

@ -1,75 +0,0 @@
/*
* @file BlockDecorWall.java
* @author Stefan Wilhelm (wile)
* @copyright (C) 2019 Stefan Wilhelm
* @license MIT (see https://opensource.org/licenses/MIT)
*
* Wall blocks.
*/
package wile.engineersdecor.blocks;
import net.minecraft.block.*;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.init.Fluids;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.IWorld;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import wile.engineersdecor.detail.ModAuxiliaries;
import javax.annotation.Nullable;
import java.util.List;
public class BlockDecorWall extends BlockWall
{
private final VoxelShape[] shape_voxels;
private final VoxelShape[] collision_shape_voxels;
public BlockDecorWall(long config, Block.Properties builder)
{
super(builder);
this.shape_voxels = buildWallShapes(4.0F, 4.0F, 16.0F, 0.0F, 16.0F);
this.collision_shape_voxels = buildWallShapes(4.0F, 4.0F, 24.0F, 0.0F, 24.0F);
}
@Override
@OnlyIn(Dist.CLIENT)
public void addInformation(ItemStack stack, @Nullable IBlockReader world, List<ITextComponent> tooltip, ITooltipFlag flag)
{ ModAuxiliaries.Tooltip.addInformation(stack, world, tooltip, flag, true); }
protected VoxelShape[] buildWallShapes(float pole_width_x, float pole_width_z, float pole_height, float side_min_y, float side_max_y)
{ return super.func_196408_a(pole_width_x, pole_width_z, pole_height, side_min_y, side_max_y); }
@Override
public VoxelShape getShape(IBlockState state, IBlockReader world, BlockPos pos)
{ return shape_voxels[this.getIndex(state)]; }
@Override
public VoxelShape getCollisionShape(IBlockState state, IBlockReader world, BlockPos pos)
{ return collision_shape_voxels[this.getIndex(state)]; }
private boolean attachesTo(IBlockState state, BlockFaceShape shape)
{ final Block block = state.getBlock(); return (shape==BlockFaceShape.SOLID) && (!isExcepBlockForAttachWithPiston(block)) || (shape==BlockFaceShape.MIDDLE_POLE_THICK) || ((shape==BlockFaceShape.MIDDLE_POLE) && (block instanceof BlockFenceGate)); }
@Override
public IBlockState updatePostPlacement(IBlockState state, EnumFacing facing, IBlockState facingState, IWorld world, BlockPos currentPos, BlockPos facingPos)
{
if(state.get(WATERLOGGED)) world.getPendingFluidTicks().scheduleTick(currentPos, Fluids.WATER, Fluids.WATER.getTickRate(world));
if(facing == EnumFacing.DOWN) return super.updatePostPlacement(state, facing, facingState, world, currentPos, facingPos);
boolean n = (facing==EnumFacing.NORTH) ? this.attachesTo(facingState, facingState.getBlockFaceShape(world, facingPos, facing.getOpposite())) : state.get(NORTH);
boolean e = (facing==EnumFacing.EAST) ? this.attachesTo(facingState, facingState.getBlockFaceShape(world, facingPos, facing.getOpposite())) : state.get(EAST);
boolean s = (facing==EnumFacing.SOUTH) ? this.attachesTo(facingState, facingState.getBlockFaceShape(world, facingPos, facing.getOpposite())) : state.get(SOUTH);
boolean w = (facing==EnumFacing.WEST) ? this.attachesTo(facingState, facingState.getBlockFaceShape(world, facingPos, facing.getOpposite())) : state.get(WEST);
boolean not_straight = (!n || !s || e || w) && (n || s || !e || !w);
return state.with(UP, not_straight).with(NORTH, n).with(EAST, e).with(SOUTH, s).with(WEST, w);
}
}

View file

@ -1,164 +0,0 @@
/*
* @file ModBlocks.java
* @author Stefan Wilhelm (wile)
* @copyright (C) 2018 Stefan Wilhelm
* @license MIT (see https://opensource.org/licenses/MIT)
*
* Definition and initialisation of blocks of this
* module, along with their tile entities if applicable.
*
* Note: Straight forward definition of different blocks/entities
* to make recipes, models and texture definitions easier.
*/
package wile.engineersdecor.blocks;
import wile.engineersdecor.ModEngineersDecor;
import wile.engineersdecor.detail.ModAuxiliaries;
import net.minecraft.block.material.MaterialColor;
import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.event.RegistryEvent;
import java.util.ArrayList;
import java.util.List;
import java.util.Collections;
import javax.annotation.Nonnull;
@SuppressWarnings("unused")
public class ModBlocks
{
public static final BlockDecorFull CLINKER_BRICK_BLOCK = (BlockDecorFull)(new BlockDecorFull(
BlockDecor.CFG_DEFAULT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "clinker_brick_block"));
public static final BlockDecorStairs CLINKER_BRICK_STAIRS = (BlockDecorStairs)(new BlockDecorStairs(
BlockDecor.CFG_DEFAULT,
CLINKER_BRICK_BLOCK.getDefaultState(),
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "clinker_brick_stairs"));
public static final BlockDecorFull SLAG_BRICK_BLOCK = (BlockDecorFull)(new BlockDecorFull(
BlockDecor.CFG_DEFAULT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "slag_brick_block"));
public static final BlockDecorStairs SLAG_BRICK_STAIRS = (BlockDecorStairs)(new BlockDecorStairs(
BlockDecor.CFG_DEFAULT,
SLAG_BRICK_BLOCK.getDefaultState(),
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "slag_brick_stairs"));
public static final BlockDecorFull REBAR_CONCRETE_BLOCK = (BlockDecorFull)(new BlockDecorFull(
BlockDecor.CFG_DEFAULT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(6f, 2000f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete"));
public static final BlockDecorStairs REBAR_CONCRETE_STAIRS = (BlockDecorStairs)(new BlockDecorStairs(
BlockDecor.CFG_DEFAULT,
REBAR_CONCRETE_BLOCK.getDefaultState(),
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 2000f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete_stairs"));
public static final BlockDecorWall REBAR_CONCRETE_WALL = (BlockDecorWall)(new BlockDecorWall(
BlockDecor.CFG_DEFAULT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 2000f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "rebar_concrete_wall"));
public static final BlockDecorWall CONCRETE_WALL = (BlockDecorWall)(new BlockDecorWall(
BlockDecor.CFG_DEFAULT,
Block.Properties.create(Material.ROCK, MaterialColor.STONE).hardnessAndResistance(2f, 50f).sound(SoundType.STONE)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "concrete_wall"));
public static final BlockDecorLadder METAL_RUNG_LADDER = (BlockDecorLadder)(new BlockDecorLadder(
BlockDecor.CFG_DEFAULT,
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1.8f, 25f).sound(SoundType.METAL)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "metal_rung_ladder"));
public static final BlockDecorLadder METAL_RUNG_STEPS = (BlockDecorLadder)(new BlockDecorLadder(
BlockDecor.CFG_DEFAULT,
Block.Properties.create(Material.IRON, MaterialColor.IRON).hardnessAndResistance(1.8f, 25f).sound(SoundType.METAL)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "metal_rung_steps"));
public static final BlockDecorLadder TREATED_WOOD_LADDER = (BlockDecorLadder)(new BlockDecorLadder(
BlockDecor.CFG_DEFAULT,
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.8f, 25f).sound(SoundType.WOOD)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_ladder"));
public static final BlockDecor TREATED_WOOD_TABLE = (BlockDecor)(new BlockDecor(
BlockDecor.CFG_CUTOUT,
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.0f, 15f).sound(SoundType.WOOD)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_table"));
public static final BlockDecorDirected TREATED_WOOD_POLE = (BlockDecorDirected)(new BlockDecorDirected(
BlockDecor.CFG_CUTOUT,
Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(1.0f, 15f).sound(SoundType.WOOD),
ModAuxiliaries.getPixeledAABB(5.8,5.8,0, 10.2,10.2,16)
)).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "treated_wood_pole"));
// public static final BlockDecorFull IRON_SHEET_ROOF_FULLBLOCK = new BlockDecorFull("iron_sheet_roof_block", 0, Material.IRON, 1.8f, 25f, SoundType.METAL);
// public static final BlockDecorStairs IRON_SHEET_ROOF = new BlockDecorStairs("iron_sheet_roof", IRON_SHEET_ROOF_FULLBLOCK.getDefaultState());
private static final Block modBlocks[] = {
CLINKER_BRICK_BLOCK,
CLINKER_BRICK_STAIRS,
SLAG_BRICK_BLOCK,
SLAG_BRICK_STAIRS,
REBAR_CONCRETE_BLOCK,
REBAR_CONCRETE_STAIRS,
REBAR_CONCRETE_WALL,
METAL_RUNG_LADDER,
METAL_RUNG_STEPS,
TREATED_WOOD_LADDER,
TREATED_WOOD_POLE,
TREATED_WOOD_TABLE,
};
private static final Block ieDependentBlocks[] = {
CONCRETE_WALL
};
private static final Block devBlocks[] = {
// IRON_SHEET_ROOF, // model looks not good enough yet
};
private static ArrayList<Block> registeredBlocks = new ArrayList<>();
@Nonnull
public static List getRegisteredBlocks()
{ return Collections.unmodifiableList(registeredBlocks); }
public static final void registerBlocks(RegistryEvent.Register<Block> event)
{
ArrayList<Block> allBlocks = new ArrayList<>();
Collections.addAll(allBlocks, modBlocks);
// @todo: find way to remove items from JEI, creative tab, etc instead of omitting registration.
if(ModAuxiliaries.isModLoaded("immersiveengineering")) ModAuxiliaries.logInfo("Immersive Engineering also installed ...");
Collections.addAll(allBlocks, ieDependentBlocks);
// @todo: config not available yet, other registration control for experimental features needed.
//if(ModConfig.MISC.with_experimental.get()) Collections.addAll(allBlocks, devBlocks);
registeredBlocks.addAll(allBlocks);
for(Block e:registeredBlocks) event.getRegistry().register(e);
ModAuxiliaries.logInfo("Registered " + Integer.toString(registeredBlocks.size()) + " blocks.");
}
/**
* Registers items for all blocks. Requires registerBlocks() event to be received first.
*/
public static final void registerItemBlocks(RegistryEvent.Register<Item> event)
{
int n = 0;
for(Block e:registeredBlocks) {
ResourceLocation rl = e.getRegistryName();
if(rl == null) continue;
event.getRegistry().register(new ItemBlock(e, (new ItemBlock.Properties().group(ModEngineersDecor.ITEMGROUP))).setRegistryName(rl));
++n;
}
}
}

View file

@ -1,167 +0,0 @@
/*
* @file ModAuxiliaries.java
* @author Stefan Wilhelm (wile)
* @copyright (C) 2018 Stefan Wilhelm
* @license MIT (see https://opensource.org/licenses/MIT)
*
* General commonly used functionality.
*
* @TODO KEYBOARD INPUT
*/
package wile.engineersdecor.detail;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.world.IBlockReader;
import net.minecraftforge.fml.ModList;
import org.lwjgl.glfw.GLFW;
import wile.engineersdecor.ModEngineersDecor;
import net.minecraft.item.ItemStack;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.client.util.InputMappings;
import net.minecraft.util.text.TextComponentTranslation;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import javax.annotation.Nullable;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ModAuxiliaries
{
/**
* Text localisation wrapper, implicitly prepends `ModEngineersDecor.MODID` to the
* translation keys. Forces formatting argument, nullable if no special formatting shall be applied..
*/
public static TextComponentTranslation localizable(String modtrkey, @Nullable TextFormatting color, Object... args)
{
TextComponentTranslation tr = new TextComponentTranslation(ModEngineersDecor.MODID+"."+modtrkey, args);
if(color!=null) tr.getStyle().setColor(color);
return tr;
}
@OnlyIn(Dist.CLIENT)
public static String localize(String translationKey, Object... args)
{
TextComponentTranslation tr = new TextComponentTranslation(translationKey, args);
tr.getStyle().setColor(TextFormatting.RESET);
final String ft = tr.getFormattedText();
if(ft.contains("${")) {
// Non-recursive, non-argument lang file entry cross referencing.
Pattern pt = Pattern.compile("\\$\\{([\\w\\.]+)\\}");
Matcher mt = pt.matcher(ft);
StringBuffer sb = new StringBuffer();
while(mt.find()) mt.appendReplacement(sb, (new TextComponentTranslation(mt.group(1))).getFormattedText().trim());
mt.appendTail(sb);
return sb.toString();
} else {
return ft;
}
}
/**
* Returns true if a given key is translated for the current language.
*/
@OnlyIn(Dist.CLIENT)
public static boolean hasTranslation(String key)
{ return net.minecraft.client.resources.I18n.hasKey(key); }
public static final class Tooltip
{
@OnlyIn(Dist.CLIENT)
public static boolean extendedTipCondition()
{ return InputMappings.isKeyDown(GLFW.GLFW_KEY_LEFT_SHIFT) || InputMappings.isKeyDown(GLFW.GLFW_KEY_RIGHT_SHIFT); }
@OnlyIn(Dist.CLIENT)
public static boolean helpCondition()
{ return extendedTipCondition() && (InputMappings.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL) || InputMappings.isKeyDown(GLFW.GLFW_KEY_RIGHT_CONTROL)); }
/**
* Adds an extended tooltip or help tooltip depending on the key states of CTRL and SHIFT.
* Returns true if the localisable help/tip was added, false if not (either not CTL/SHIFT or
* no translation found).
*/
@OnlyIn(Dist.CLIENT)
public static boolean addInformation(@Nullable String advancedTooltipTranslationKey, @Nullable String helpTranslationKey, List<ITextComponent> tooltip, ITooltipFlag flag, boolean addAdvancedTooltipHints)
{
// Note: intentionally not using keybinding here, this must be `control` or `shift`. MC uses lwjgl Keyboard,
// so using this also here should be ok.
final boolean help_available = (helpTranslationKey != null) && ModAuxiliaries.hasTranslation(helpTranslationKey + ".help");
final boolean tip_available = (advancedTooltipTranslationKey != null) && ModAuxiliaries.hasTranslation(helpTranslationKey + ".tip");
if((!help_available) && (!tip_available)) return false;
if(helpCondition()) {
if(!help_available) return false;
String s = localize(helpTranslationKey + ".help");
if(s.isEmpty()) return false;
tooltip.add(new TextComponentString(s)); // @todo: check how to optimise that (to use TextComponentTranslation directly without compat losses)
return true;
} else if(extendedTipCondition()) {
if(!tip_available) return false;
String s = localize(advancedTooltipTranslationKey + ".tip");
if(s.isEmpty()) return false;
tooltip.add(new TextComponentString(s));
return true;
} else if(addAdvancedTooltipHints) {
String s = "";
if(tip_available) s += localize(ModEngineersDecor.MODID + ".tooltip.hint.extended") + (help_available ? " " : "");
if(help_available) s += localize(ModEngineersDecor.MODID + ".tooltip.hint.help");
tooltip.add(new TextComponentString(s));
}
return false;
}
/**
* Adds an extended tooltip or help tooltip for a given stack depending on the key states of CTRL and SHIFT.
* Format in the lang file is (e.g. for items): "item.MODID.REGISTRYNAME.tip" and "item.MODID.REGISTRYNAME.help".
* Return value see method pattern above.
*/
@OnlyIn(Dist.CLIENT)
public static boolean addInformation(ItemStack stack, @Nullable IBlockReader world, List<ITextComponent> tooltip, ITooltipFlag flag, boolean addAdvancedTooltipHints)
{ return addInformation(stack.getTranslationKey(), stack.getTranslationKey(), tooltip, flag, addAdvancedTooltipHints); }
}
public static final AxisAlignedBB getPixeledAABB(double x0, double y0, double z0, double x1, double y1, double z1)
{ return new AxisAlignedBB(x0/16.0, y0/16.0, z0/16.0, x1/16.0, y1/16.0, z1/16.0); }
public static final AxisAlignedBB getRotatedAABB(AxisAlignedBB bb, EnumFacing new_facing, boolean horizontal_rotation)
{
if(!horizontal_rotation) {
switch(new_facing.getIndex()) {
case 0: return new AxisAlignedBB(1-bb.maxX, 1-bb.maxZ, 1-bb.maxY, 1-bb.minX, 1-bb.minZ, 1-bb.minY); // D
case 1: return new AxisAlignedBB(1-bb.maxX, bb.minZ, bb.minY, 1-bb.minX, bb.maxZ, bb.maxY); // U
case 2: return new AxisAlignedBB(1-bb.maxX, bb.minY, 1-bb.maxZ, 1-bb.minX, bb.maxY, 1-bb.minZ); // N
case 3: return new AxisAlignedBB( bb.minX, bb.minY, bb.minZ, bb.maxX, bb.maxY, bb.maxZ); // S --> bb
case 4: return new AxisAlignedBB(1-bb.maxZ, bb.minY, bb.minX, 1-bb.minZ, bb.maxY, bb.maxX); // W
case 5: return new AxisAlignedBB( bb.minZ, bb.minY, 1-bb.maxX, bb.maxZ, bb.maxY, 1-bb.minX); // E
}
} else {
switch(new_facing.getIndex()) {
case 0: return new AxisAlignedBB( bb.minX, bb.minY, bb.minZ, bb.maxX, bb.maxY, bb.maxZ); // D --> bb
case 1: return new AxisAlignedBB( bb.minX, bb.minY, bb.minZ, bb.maxX, bb.maxY, bb.maxZ); // U --> bb
case 2: return new AxisAlignedBB( bb.minX, bb.minY, bb.minZ, bb.maxX, bb.maxY, bb.maxZ); // N --> bb
case 3: return new AxisAlignedBB(1-bb.maxX, bb.minY, 1-bb.maxZ, 1-bb.minX, bb.maxY, 1-bb.minZ); // S
case 4: return new AxisAlignedBB( bb.minZ, bb.minY, 1-bb.maxX, bb.maxZ, bb.maxY, 1-bb.minX); // W
case 5: return new AxisAlignedBB(1-bb.maxZ, bb.minY, bb.minX, 1-bb.minZ, bb.maxY, bb.maxX); // E
}
}
return bb;
}
public static final boolean isModLoaded(final String registry_name)
{ return ModList.get().isLoaded(registry_name); }
public static final void logInfo(final String msg)
{ ModEngineersDecor.logger().info(msg); }
public static final void logWarn(final String msg)
{ ModEngineersDecor.logger().warn(msg); }
public static final void logError(final String msg)
{ ModEngineersDecor.logger().error(msg); }
}

View file

@ -1,35 +0,0 @@
/*
* @file ModConfig.java
* @author Stefan Wilhelm (wile)
* @copyright (C) 2018 Stefan Wilhelm
* @license MIT (see https://opensource.org/licenses/MIT)
*
* Main class for module settings. Handles reading and
* saving the config file.
*/
package wile.engineersdecor.detail;
import wile.engineersdecor.ModEngineersDecor;
import net.minecraftforge.common.ForgeConfigSpec;
public class ModConfig
{
private static final ForgeConfigSpec.Builder BUILDER = new ForgeConfigSpec.Builder();
public static final Miscellaneous MISC = new Miscellaneous(BUILDER);
public static final ForgeConfigSpec conf_spec = BUILDER.build();
public static final class Miscellaneous
{
public final ForgeConfigSpec.ConfigValue<Boolean> with_experimental;
public Miscellaneous(ForgeConfigSpec.Builder builder)
{
builder.push("Miscellaneous");
with_experimental = builder
.translation(ModEngineersDecor.MODID + ".config.with_experimental")
.comment("Enables experimental features. Use at own risk.")
.define("with_experimental", false);
builder.pop();
}
}
}

View file

@ -1,71 +0,0 @@
/*
* @file RecipeCondRegistered.java
* @author Stefan Wilhelm (wile)
* @copyright (C) 2018 Stefan Wilhelm
* @license MIT (see https://opensource.org/licenses/MIT)
*
* Recipe condition to enable opt'ing out JSON based recipes, referenced
* in assets/engineersdecor/recipes/_factories.json with full path (therefore
* I had to make a separate file for that instead of a few lines in
* ModAuxiliaries).
*/
package wile.engineersdecor.detail;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.crafting.IConditionSerializer;
import net.minecraftforge.registries.IForgeRegistry;
import net.minecraftforge.registries.ForgeRegistries;
import com.google.gson.*;
import javax.annotation.Nullable;
import javax.annotation.Nonnull;
import java.util.function.BooleanSupplier;
public class RecipeCondModSpecific implements IConditionSerializer
{
public static final BooleanSupplier RECIPE_INCLUDE = ()->true;
public static final BooleanSupplier RECIPE_EXCLUDE = ()->false;
@Override
public @Nonnull BooleanSupplier parse(@Nullable JsonObject json) {
try {
if(json==null) return RECIPE_EXCLUDE;
final IForgeRegistry<Block> block_registry = ForgeRegistries.BLOCKS;
final IForgeRegistry<Item> item_registry = ForgeRegistries.ITEMS;
final JsonArray items = json.getAsJsonArray("required");
if(items!=null) {
for(JsonElement e: items) {
if(!e.isJsonPrimitive()) continue;
final ResourceLocation rl = new ResourceLocation(((JsonPrimitive)e).getAsString());
if((!block_registry.containsKey(rl)) && (!item_registry.containsKey(rl))) return RECIPE_EXCLUDE; // required item not registered
}
}
final JsonPrimitive result = json.getAsJsonPrimitive("result");
if(result != null) {
final ResourceLocation rl = new ResourceLocation(result.getAsString());
if((!block_registry.containsKey(rl)) && (!item_registry.containsKey(rl))) return RECIPE_EXCLUDE; // required result not registered
}
final JsonArray missing = json.getAsJsonArray("missing");
if((missing!=null) && (missing.size() > 0)) {
for(JsonElement e: missing) {
if(!e.isJsonPrimitive()) continue;
final ResourceLocation rl = new ResourceLocation(((JsonPrimitive)e).getAsString());
// At least one item missing, enable this recipe as alternative recipe for another one that check the missing item as required item.
// --> e.g. if IE not installed there is no slag. One recipe requires slag, and another one (for the same result) is used if there
// is no slag.
if((!block_registry.containsKey(rl)) && (!item_registry.containsKey(rl))) return RECIPE_INCLUDE;
}
return RECIPE_EXCLUDE; // all required there, but there is no item missing, so another recipe
} else {
return RECIPE_INCLUDE; // no missing given, means include if result and required are all there.
}
} catch(Throwable ex) {
ModAuxiliaries.logError("rsgauges::ResultRegisteredCondition failed: " + ex.toString());
}
return RECIPE_EXCLUDE; // skip on exception.
}
}

View file

@ -1,31 +0,0 @@
# @file mods.toml
# @spec TOML v0.5.0 (https://github.com/toml-lang/toml)
modLoader="javafml" # forge FML java
loaderVersion="[25,)"
issueTrackerURL="https://github.com/stfwi/engineers-decor/issues/"
[[mods]]
modId="engineersdecor"
version="${file.jarVersion}"
displayName="Engineer's Decor"
description="Adds cosmetic blocks for the engineer's workshop, factory and home."
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
[[dependencies.engineersdecor]]
modId="forge"
mandatory=true
versionRange="[25,)" #mandatory
ordering="NONE"
side="BOTH"
[[dependencies.engineersdecor]]
modId="minecraft"
mandatory=true
versionRange="[1.13.2]"
ordering="NONE"
side="BOTH"

View file

@ -1,14 +0,0 @@
{
"variants": {
"": [
{ "model": "engineersdecor:block/brick/clinker_brick_model0" },
{ "model": "engineersdecor:block/brick/clinker_brick_model1" },
{ "model": "engineersdecor:block/brick/clinker_brick_model2" },
{ "model": "engineersdecor:block/brick/clinker_brick_model3" },
{ "model": "engineersdecor:block/brick/clinker_brick_model4" },
{ "model": "engineersdecor:block/brick/clinker_brick_model5" },
{ "model": "engineersdecor:block/brick/clinker_brick_model6" },
{ "model": "engineersdecor:block/brick/clinker_brick_model7" }
]
}
}

View file

@ -1,44 +0,0 @@
{
"variants": {
"facing=east,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs" },
"facing=west,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer" },
"facing=west,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer" },
"facing=north,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "y": 180, "uvlock": true },
"facing=east,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner" },
"facing=west,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner" },
"facing=north,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "y": 180, "uvlock": true },
"facing=east,half=top,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "x": 180, "uvlock": true },
"facing=west,half=top,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=straight": { "model": "engineersdecor:block/brick/clinker_brick_stairs", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "uvlock": true },
"facing=east,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "uvlock": true },
"facing=west,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_outer", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "uvlock": true },
"facing=east,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "uvlock": true },
"facing=west,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/clinker_brick_stairs_inner", "x": 180, "y": 270, "uvlock": true }
}
}

View file

@ -1,9 +0,0 @@
{
"multipart": [
{ "when": { "up": "true" }, "apply": { "model": "engineersdecor:block/concrete/concrete_wall_post" } },
{ "when": { "north": "true" }, "apply": { "model": "engineersdecor:block/concrete/concrete_wall_side", "uvlock": true } },
{ "when": { "east": "true" }, "apply": { "model": "engineersdecor:block/concrete/concrete_wall_side", "y": 90, "uvlock": true } },
{ "when": { "south": "true" }, "apply": { "model": "engineersdecor:block/concrete/concrete_wall_side", "y": 180, "uvlock": true } },
{ "when": { "west": "true" }, "apply": { "model": "engineersdecor:block/concrete/concrete_wall_side", "y": 270, "uvlock": true } }
]
}

View file

@ -1,55 +0,0 @@
{
"forge_marker": 1,
"defaults": {
"model": "engineersdecor:block/stairs/decor_straight_roof_model",
"textures": {
"bottom": "engineersdecor:block/iestyle/ironsheet_roof_top",
"side": "engineersdecor:block/iestyle/ironsheet_roof",
"top": "engineersdecor:block/iestyle/ironsheet_roof_top"
}
},
"variants": {
"": [{}],
"inventory": [{}],
"facing=east,half=bottom,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model" },
"facing=west,half=bottom,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model" },
"facing=west,half=bottom,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model" },
"facing=north,half=bottom,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "y": 180, "uvlock": true },
"facing=east,half=bottom,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model" },
"facing=west,half=bottom,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model" },
"facing=north,half=bottom,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "y": 180, "uvlock": true },
"facing=east,half=top,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "x": 180, "uvlock": true },
"facing=west,half=top,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=straight": { "model": "engineersdecor:block/stairs/decor_straight_roof_model", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=outer_right": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "uvlock": true },
"facing=east,half=top,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "uvlock": true },
"facing=west,half=top,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=outer_left": { "model": "engineersdecor:block/stairs/decor_outer_roof_model", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=inner_right": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "uvlock": true },
"facing=east,half=top,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "uvlock": true },
"facing=west,half=top,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=inner_left": { "model": "engineersdecor:block/stairs/decor_inner_roof_model", "x": 180, "y": 270, "uvlock": true }
}
}

View file

@ -1,11 +0,0 @@
{
"forge_marker": 1,
"defaults": {
"model": "engineersdecor:block/std/decor_full_block_model",
"textures": { "all": "engineersdecor:block/iestyle/ironsheet_roof" }
},
"variants": {
"": [{}],
"inventory": [{}]
}
}

View file

@ -1,8 +0,0 @@
{
"variants": {
"facing=north": { "model": "engineersdecor:block/ladder/metal_rung_ladder_model" },
"facing=south": { "model": "engineersdecor:block/ladder/metal_rung_ladder_model", "y":180 },
"facing=west": { "model": "engineersdecor:block/ladder/metal_rung_ladder_model", "y":270 },
"facing=east": { "model": "engineersdecor:block/ladder/metal_rung_ladder_model", "y":90 }
}
}

View file

@ -1,8 +0,0 @@
{
"variants": {
"facing=north": { "model": "engineersdecor:block/ladder/metal_rung_steps_model" },
"facing=south": { "model": "engineersdecor:block/ladder/metal_rung_steps_model", "y":180 },
"facing=west": { "model": "engineersdecor:block/ladder/metal_rung_steps_model", "y":270 },
"facing=east": { "model": "engineersdecor:block/ladder/metal_rung_steps_model", "y":90 }
}
}

View file

@ -1,14 +0,0 @@
{
"variants": {
"": [
{ "model": "engineersdecor:block/concrete/rebar_concrete_model0" },
{ "model": "engineersdecor:block/concrete/rebar_concrete_model1" },
{ "model": "engineersdecor:block/concrete/rebar_concrete_model2" },
{ "model": "engineersdecor:block/concrete/rebar_concrete_model3" },
{ "model": "engineersdecor:block/concrete/rebar_concrete_model4" },
{ "model": "engineersdecor:block/concrete/rebar_concrete_model5" },
{ "model": "engineersdecor:block/concrete/rebar_concrete_model6" },
{ "model": "engineersdecor:block/concrete/rebar_concrete_model7" }
]
}
}

View file

@ -1,44 +0,0 @@
{
"variants": {
"facing=east,half=bottom,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs" },
"facing=west,half=bottom,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer" },
"facing=west,half=bottom,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer" },
"facing=north,half=bottom,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "y": 180, "uvlock": true },
"facing=east,half=bottom,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner" },
"facing=west,half=bottom,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner" },
"facing=north,half=bottom,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "y": 180, "uvlock": true },
"facing=east,half=top,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "x": 180, "uvlock": true },
"facing=west,half=top,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=straight": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=outer_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "uvlock": true },
"facing=east,half=top,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "uvlock": true },
"facing=west,half=top,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=outer_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_outer", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=inner_right": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "uvlock": true },
"facing=east,half=top,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "uvlock": true },
"facing=west,half=top,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=inner_left": { "model": "engineersdecor:block/concrete/rebar_concrete_stairs_inner", "x": 180, "y": 270, "uvlock": true }
}
}

View file

@ -1,9 +0,0 @@
{
"multipart": [
{ "when": { "up": "true" }, "apply": { "model": "engineersdecor:block/concrete/rebar_concrete_wall_post" } },
{ "when": { "north": "true" }, "apply": { "model": "engineersdecor:block/concrete/rebar_concrete_wall_side", "uvlock": true } },
{ "when": { "east": "true" }, "apply": { "model": "engineersdecor:block/concrete/rebar_concrete_wall_side", "y": 90, "uvlock": true } },
{ "when": { "south": "true" }, "apply": { "model": "engineersdecor:block/concrete/rebar_concrete_wall_side", "y": 180, "uvlock": true } },
{ "when": { "west": "true" }, "apply": { "model": "engineersdecor:block/concrete/rebar_concrete_wall_side", "y": 270, "uvlock": true } }
]
}

View file

@ -1,14 +0,0 @@
{
"variants": {
"": [
{ "model": "engineersdecor:block/brick/slag_brick_model0" },
{ "model": "engineersdecor:block/brick/slag_brick_model1" },
{ "model": "engineersdecor:block/brick/slag_brick_model2" },
{ "model": "engineersdecor:block/brick/slag_brick_model3" },
{ "model": "engineersdecor:block/brick/slag_brick_model4" },
{ "model": "engineersdecor:block/brick/slag_brick_model5" },
{ "model": "engineersdecor:block/brick/slag_brick_model6" },
{ "model": "engineersdecor:block/brick/slag_brick_model7" }
]
}
}

View file

@ -1,44 +0,0 @@
{
"variants": {
"facing=east,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs" },
"facing=west,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer" },
"facing=west,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer" },
"facing=north,half=bottom,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "y": 180, "uvlock": true },
"facing=east,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner" },
"facing=west,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "y": 180, "uvlock": true },
"facing=south,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "y": 90, "uvlock": true },
"facing=north,half=bottom,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "y": 270, "uvlock": true },
"facing=east,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "y": 270, "uvlock": true },
"facing=west,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "y": 90, "uvlock": true },
"facing=south,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner" },
"facing=north,half=bottom,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "y": 180, "uvlock": true },
"facing=east,half=top,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "x": 180, "uvlock": true },
"facing=west,half=top,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=straight": { "model": "engineersdecor:block/brick/slag_brick_stairs", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=outer_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "uvlock": true },
"facing=east,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "uvlock": true },
"facing=west,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=outer_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_outer", "x": 180, "y": 270, "uvlock": true },
"facing=east,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "y": 90, "uvlock": true },
"facing=west,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "y": 270, "uvlock": true },
"facing=south,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "y": 180, "uvlock": true },
"facing=north,half=top,shape=inner_right": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "uvlock": true },
"facing=east,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "uvlock": true },
"facing=west,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "y": 180, "uvlock": true },
"facing=south,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "y": 90, "uvlock": true },
"facing=north,half=top,shape=inner_left": { "model": "engineersdecor:block/brick/slag_brick_stairs_inner", "x": 180, "y": 270, "uvlock": true }
}
}

View file

@ -1,8 +0,0 @@
{
"variants": {
"facing=north": { "model": "engineersdecor:block/ladder/treated_wood_ladder_model" },
"facing=south": { "model": "engineersdecor:block/ladder/treated_wood_ladder_model", "y":180 },
"facing=west": { "model": "engineersdecor:block/ladder/treated_wood_ladder_model", "y":270 },
"facing=east": { "model": "engineersdecor:block/ladder/treated_wood_ladder_model", "y":90 }
}
}

View file

@ -1,14 +0,0 @@
{
"forge_marker": 1,
"defaults": {
"model": "engineersdecor:pole/straight_pole_model",
"textures": {
"particle": "engineersdecor:block/pole/treated_wood_pole_side_texture",
"side": "engineersdecor:block/pole/treated_wood_pole_side_texture",
"top": "engineersdecor:block/pole/treated_wood_pole_top_texture"
}
},
"variants": {
"facing": { "north": {"y":180}, "south": {"y":0}, "west": {"y":90}, "east": {"y":270}, "up": {"x":90}, "down": {"x":270}}
}
}

View file

@ -1,5 +0,0 @@
{
"forge_marker": 1,
"defaults": { "model": "engineersdecor:furniture/treated_wood_table_model" },
"variants": { "": [{}] }
}

View file

@ -1,53 +0,0 @@
{
"language": "English",
"language.region": "United States",
"language.code": "en_us",
"itemGroup.tabengineersdecor":"Engineer's Decor",
"engineersdecor.config.title":"Engineer's Decor Config",
"engineersdecor.tooltip.hint.extended":"§6[§9SHIFT§r More info§6]§r",
"engineersdecor.tooltip.hint.help":"§6[§9CTRL-SHIFT§r Help§6]§r",
"block.engineersdecor.clinker_brick_block":"Clinker Brick",
"block.engineersdecor.clinker_brick_block.help":"§6A brick block with position dependent texture variations.§r\nLooks slightly darker and more color intensive than the vanilla brick block.",
"block.engineersdecor.clinker_brick_stairs":"Clinker Brick Stairs",
"block.engineersdecor.clinker_brick_stairs.help":"§6Looks slightly darker and more color intensive than the vanilla brick block.",
"block.engineersdecor.slag_brick_block":"Slag Brick",
"block.engineersdecor.slag_brick_block.help":"§6A gray-brown brick block with position dependent texture variations.",
"block.engineersdecor.slag_brick_stairs":"Slag Brick Stairs",
"block.engineersdecor.slag_brick_stairs.help":"§6Gray-brown brick stairs.",
"block.engineersdecor.rebar_concrete":"Rebar Concrete",
"block.engineersdecor.rebar_concrete.help":"§6Steel reinforced concrete block.§r Expensive but Creeper-proof like obsidian.",
"block.engineersdecor.rebar_concrete_stairs":"Rebar Concrete Stairs",
"block.engineersdecor.rebar_concrete_stairs.help":"§6Steel reinforced concrete stairs.§r Expensive but Creeper-proof like obsidian.",
"block.engineersdecor.rebar_concrete_wall":"Rebar Concrete Wall",
"block.engineersdecor.rebar_concrete_wall.help":"§6Steel reinforced concrete wall.§r Expensive but Creeper-proof like obsidian.",
"block.engineersdecor.concrete_wall":"Concrete Wall",
"block.engineersdecor.concrete_wall.help":"§6Wall made of solid concrete.",
"block.engineersdecor.metal_rung_ladder":"Metal Rung Ladder",
"block.engineersdecor.metal_rung_ladder.help":"§6Typical industrial wall ladder, consisting of horizontal metal rod rungs.",
"block.engineersdecor.metal_rung_steps":"Staggered Metal Steps",
"block.engineersdecor.metal_rung_steps.help":"§6Staggered rod rungs affixed to a wall, allowing to climb up, fall down, and so on.",
"block.engineersdecor.treated_wood_ladder":"Treated Wood Ladder",
"block.engineersdecor.treated_wood_ladder.help":"§6Weather-proof wooden ladder.",
"block.engineersdecor.iron_sheet_roof":"Iron Sheet Metal Roof",
"block.engineersdecor.iron_sheet_roof.help":"§6Well, it's a roof.",
"block.engineersdecor.treated_wood_pole":"Straight Treated Wood Pole",
"block.engineersdecor.treated_wood_pole.help":"§6Straight pole fragment with the diameter of a wire relay.§r\nCan be useful as alternative to the wire posts if special special lengths are needed, or as support for structures.",
"block.engineersdecor.treated_wood_table":"Treated Wood Table",
"block.engineersdecor.treated_wood_table.help":"§6Robust four-legged wood table."
}

View file

@ -1,53 +0,0 @@
{
"language": "Chinese",
"language.region": "China",
"language.code": "zh_cn",
"itemGroup.tabengineersdecor":"工程师的装饰",
"engineersdecor.config.title":"工程师的装饰配置",
"engineersdecor.tooltip.hint.extended":"§6[按§9SHIFT§r获取更多信息§6]§r",
"engineersdecor.tooltip.hint.help":"§6[按§9CTRL-SHIFT§r获取帮助§6]§r",
"block.engineersdecor.clinker_brick_block":"熟料砖",
"block.engineersdecor.clinker_brick_block.help":"§6具有位置相关纹理变化的砖块.§r\n看起来比原版砖块稍暗,颜色更浓.",
"block.engineersdecor.clinker_brick_stairs":"熟料砖楼梯",
"block.engineersdecor.clinker_brick_stairs.help":"§6看起来比原版砖块稍暗,颜色更浓.",
"block.engineersdecor.slag_brick_block":"炉渣砖",
"block.engineersdecor.slag_brick_block.help":"§6灰褐色砖块,具有位置相关的纹理变化.",
"block.engineersdecor.slag_brick_stairs":"炉渣砖楼梯",
"block.engineersdecor.slag_brick_stairs.help":"§6灰褐色砖块楼梯.",
"block.engineersdecor.rebar_concrete":"钢筋混凝土",
"block.engineersdecor.rebar_concrete.help":"§6钢筋混凝土砌块.§r 昂贵,但像黑曜石一样防苦力怕.",
"block.engineersdecor.rebar_concrete_stairs":"钢筋混凝土楼梯",
"block.engineersdecor.rebar_concrete_stairs.help":"§6钢筋混凝土楼梯.§r 昂贵,但像黑曜石一样防苦力怕.",
"block.engineersdecor.rebar_concrete_wall":"钢筋混凝土墙",
"block.engineersdecor.rebar_concrete_wall.help":"§6钢筋混凝土墙.§r 昂贵,但像黑曜石一样防苦力怕.",
"block.engineersdecor.concrete_wall":"水泥墙",
"block.engineersdecor.concrete_wall.help":"§6墙由坚固的混凝土制成.",
"block.engineersdecor.metal_rung_ladder":"金属环梯",
"block.engineersdecor.metal_rung_ladder.help":"§6典型的工业墙梯,包括水平金属杆横档.",
"block.engineersdecor.metal_rung_steps":"交错的金属台阶",
"block.engineersdecor.metal_rung_steps.help":"§6贴在墙上的交错的杆横档,允许爬上,爬下等等.",
"block.engineersdecor.treated_wood_ladder":"经过处理的木梯",
"block.engineersdecor.treated_wood_ladder.help":"§6防风雨的木梯.",
"block.engineersdecor.iron_sheet_roof":"铁板金属屋顶",
"block.engineersdecor.iron_sheet_roof.help":"§6嗯,这是一个屋顶.",
"block.engineersdecor.treated_wood_pole":"直立处理木杆",
"block.engineersdecor.treated_wood_pole.help":"§6具有导线继电器直径的直极片段.§r\n如果需要特殊的特殊长度,或作为结构的支撑,可以作为线柱的替代品.",
"block.engineersdecor.treated_wood_table":"经过处理的木桌",
"block.engineersdecor.treated_wood_table.help":"§6坚固的四足木桌."
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/clinker_brick/clinker_brick_texture0" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/clinker_brick/clinker_brick_texture1" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/clinker_brick/clinker_brick_texture2" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/clinker_brick/clinker_brick_texture3" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/clinker_brick/clinker_brick_texture4" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/clinker_brick/clinker_brick_texture5" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/clinker_brick/clinker_brick_texture6" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/clinker_brick/clinker_brick_texture7" } }

View file

@ -1,8 +0,0 @@
{
"parent": "minecraft:block/stairs",
"textures": {
"bottom": "engineersdecor:block/clinker_brick/clinker_brick_texture0",
"top": "engineersdecor:block/clinker_brick/clinker_brick_texture0",
"side": "engineersdecor:block/clinker_brick/clinker_brick_texture0"
}
}

View file

@ -1,8 +0,0 @@
{
"parent": "minecraft:block/inner_stairs",
"textures": {
"bottom": "engineersdecor:block/clinker_brick/clinker_brick_texture0",
"top": "engineersdecor:block/clinker_brick/clinker_brick_texture0",
"side": "engineersdecor:block/clinker_brick/clinker_brick_texture0"
}
}

View file

@ -1,8 +0,0 @@
{
"parent": "minecraft:block/outer_stairs",
"textures": {
"bottom": "engineersdecor:block/clinker_brick/clinker_brick_texture0",
"top": "engineersdecor:block/clinker_brick/clinker_brick_texture0",
"side": "engineersdecor:block/clinker_brick/clinker_brick_texture0"
}
}

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/slag_brick/slag_brick_texture0" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/slag_brick/slag_brick_texture1" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/slag_brick/slag_brick_texture2" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/slag_brick/slag_brick_texture3" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/slag_brick/slag_brick_texture4" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/slag_brick/slag_brick_texture5" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/slag_brick/slag_brick_texture6" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/slag_brick/slag_brick_texture7" } }

View file

@ -1,8 +0,0 @@
{
"parent": "minecraft:block/stairs",
"textures": {
"bottom": "engineersdecor:block/slag_brick/slag_brick_texture0",
"top": "engineersdecor:block/slag_brick/slag_brick_texture0",
"side": "engineersdecor:block/slag_brick/slag_brick_texture0"
}
}

View file

@ -1,8 +0,0 @@
{
"parent": "minecraft:block/inner_stairs",
"textures": {
"bottom": "engineersdecor:block/slag_brick/slag_brick_texture0",
"top": "engineersdecor:block/slag_brick/slag_brick_texture1",
"side": "engineersdecor:block/slag_brick/slag_brick_texture2"
}
}

View file

@ -1,8 +0,0 @@
{
"parent": "minecraft:block/outer_stairs",
"textures": {
"bottom": "engineersdecor:block/slag_brick/slag_brick_texture0",
"top": "engineersdecor:block/slag_brick/slag_brick_texture0",
"side": "engineersdecor:block/slag_brick/slag_brick_texture0"
}
}

View file

@ -1,7 +0,0 @@
{
"parent":"engineersdecor:block/wall/concrete_wall_default",
"textures": {
"wall": "engineersdecor:block/ieoriginal/ie_stone_decoration_concrete",
"particle": "engineersdecor:block/ieoriginal/ie_stone_decoration_concrete"
}
}

View file

@ -1,7 +0,0 @@
{
"parent":"engineersdecor:block/wall/concrete_wall_inventory",
"textures": {
"wall": "engineersdecor:block/ieoriginal/ie_stone_decoration_concrete",
"particle": "engineersdecor:block/ieoriginal/ie_stone_decoration_concrete"
}
}

View file

@ -1,7 +0,0 @@
{
"parent":"engineersdecor:block/wall/concrete_wall_post",
"textures": {
"wall": "engineersdecor:block/ieoriginal/ie_stone_decoration_concrete",
"particle": "engineersdecor:block/ieoriginal/ie_stone_decoration_concrete"
}
}

View file

@ -1,7 +0,0 @@
{
"parent":"engineersdecor:block/wall/concrete_wall_side",
"textures": {
"wall": "engineersdecor:block/ieoriginal/ie_stone_decoration_concrete",
"particle": "engineersdecor:block/ieoriginal/ie_stone_decoration_concrete"
}
}

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/concrete/rebar_concrete_texture0" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/concrete/rebar_concrete_texture1" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/concrete/rebar_concrete_texture2" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/concrete/rebar_concrete_texture3" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/concrete/rebar_concrete_texture4" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/concrete/rebar_concrete_texture5" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/concrete/rebar_concrete_texture6" } }

View file

@ -1 +0,0 @@
{ "parent": "block/cube_all", "textures": { "all": "engineersdecor:block/concrete/rebar_concrete_texture7" } }

View file

@ -1,8 +0,0 @@
{
"parent": "minecraft:block/stairs",
"textures": {
"bottom": "engineersdecor:block/concrete/rebar_concrete_texture0",
"top": "engineersdecor:block/concrete/rebar_concrete_texture1",
"side": "engineersdecor:block/concrete/rebar_concrete_texture2"
}
}

View file

@ -1,8 +0,0 @@
{
"parent": "minecraft:block/inner_stairs",
"textures": {
"bottom": "engineersdecor:block/concrete/rebar_concrete_texture0",
"top": "engineersdecor:block/concrete/rebar_concrete_texture1",
"side": "engineersdecor:block/concrete/rebar_concrete_texture2"
}
}

View file

@ -1,8 +0,0 @@
{
"parent": "minecraft:block/outer_stairs",
"textures": {
"bottom": "engineersdecor:block/concrete/rebar_concrete_texture0",
"top": "engineersdecor:block/concrete/rebar_concrete_texture1",
"side": "engineersdecor:block/concrete/rebar_concrete_texture2"
}
}

View file

@ -1,7 +0,0 @@
{
"parent":"engineersdecor:block/wall/concrete_wall_default",
"textures": {
"wall": "engineersdecor:block/concrete/rebar_concrete_texture0",
"particle": "engineersdecor:block/concrete/rebar_concrete_texture0"
}
}

View file

@ -1,7 +0,0 @@
{
"parent":"engineersdecor:block/wall/concrete_wall_inventory",
"textures": {
"wall": "engineersdecor:block/concrete/rebar_concrete_texture0",
"particle": "engineersdecor:block/concrete/rebar_concrete_texture0"
}
}

View file

@ -1,7 +0,0 @@
{
"parent":"engineersdecor:block/wall/concrete_wall_post",
"textures": {
"wall": "engineersdecor:block/concrete/rebar_concrete_texture0",
"particle": "engineersdecor:block/concrete/rebar_concrete_texture0"
}
}

View file

@ -1,7 +0,0 @@
{
"parent":"engineersdecor:block/wall/concrete_wall_side",
"textures": {
"wall": "engineersdecor:block/concrete/rebar_concrete_texture0",
"particle": "engineersdecor:block/concrete/rebar_concrete_texture0"
}
}

View file

@ -1,190 +0,0 @@
{
"credit": "I made this with the Blockbench",
"parent": "block/cube",
"textures": {
"o": "engineersdecor:block/iestyle/treated_wood_framed_texture",
"particle": "engineersdecor:block/iestyle/treated_wood_framed_texture"
},
"elements": [
{
"from": [1, 0, 1],
"to": [3, 14, 3],
"faces": {
"north": {"uv": [13, 2, 15, 16], "texture": "#o"},
"east": {"uv": [13, 2, 15, 16], "texture": "#o"},
"south": {"uv": [1, 2, 3, 16], "texture": "#o"},
"west": {"uv": [1, 2, 3, 16], "texture": "#o"},
"up": {"uv": [1, 1, 3, 3], "texture": "#o"},
"down": {"uv": [1, 13, 3, 15], "texture": "#o", "cullface": "down"}
}
},
{
"from": [13, 0, 1],
"to": [15, 14, 3],
"faces": {
"north": {"uv": [1, 2, 3, 16], "texture": "#o"},
"east": {"uv": [13, 2, 15, 16], "texture": "#o"},
"south": {"uv": [13, 2, 15, 16], "texture": "#o"},
"west": {"uv": [1, 2, 3, 16], "texture": "#o"},
"up": {"uv": [13, 1, 15, 3], "texture": "#o"},
"down": {"uv": [13, 13, 15, 15], "texture": "#o", "cullface": "down"}
}
},
{
"from": [13, 0, 13],
"to": [15, 14, 15],
"faces": {
"north": {"uv": [1, 2, 3, 16], "texture": "#o"},
"east": {"uv": [1, 2, 3, 16], "texture": "#o"},
"south": {"uv": [13, 2, 15, 16], "texture": "#o"},
"west": {"uv": [13, 2, 15, 16], "texture": "#o"},
"up": {"uv": [13, 13, 15, 15], "texture": "#o"},
"down": {"uv": [13, 1, 15, 3], "texture": "#o", "cullface": "down"}
}
},
{
"from": [1, 0, 13],
"to": [3, 14, 15],
"faces": {
"north": {"uv": [13, 2, 15, 16], "texture": "#o"},
"east": {"uv": [1, 2, 3, 16], "texture": "#o"},
"south": {"uv": [1, 2, 3, 16], "texture": "#o"},
"west": {"uv": [13, 2, 15, 16], "texture": "#o"},
"up": {"uv": [1, 13, 3, 15], "texture": "#o"},
"down": {"uv": [1, 1, 3, 3], "texture": "#o", "cullface": "down"}
}
},
{
"from": [0, 14, 0],
"to": [16, 15.875, 16],
"faces": {
"north": {"uv": [0, 0.125, 16, 2], "texture": "#o"},
"east": {"uv": [0, 0.125, 16, 2], "texture": "#o"},
"south": {"uv": [0, 0.125, 16, 2], "texture": "#o"},
"west": {"uv": [0, 0.125, 16, 2], "texture": "#o"},
"up": {"uv": [0, 0, 16, 16], "texture": "#o"},
"down": {"uv": [0, 0, 16, 16], "texture": "#o"}
}
},
{
"from": [0.125, 15.875, 0.125],
"to": [15.875, 16, 15.875],
"faces": {
"north": {"uv": [0.25, 0, 15.75, 0.125], "texture": "#o"},
"east": {"uv": [0.25, 0, 15.75, 0.125], "texture": "#o"},
"south": {"uv": [0.25, 0, 15.75, 0.125], "texture": "#o"},
"west": {"uv": [0.25, 0, 15.75, 0.125], "texture": "#o"},
"up": {"uv": [0.25, 0.25, 15.75, 15.75], "texture": "#o"},
"down": {"uv": [0.25, 0.25, 15.75, 15.75], "texture": "#o"}
}
},
{
"from": [13, 13.5, 3],
"to": [15, 14, 5],
"faces": {
"north": {"uv": [1, 2, 3, 2.5], "texture": "#o"},
"east": {"uv": [11, 2, 13, 2.5], "texture": "#o"},
"south": {"uv": [13, 2, 15, 2.5], "texture": "#o"},
"west": {"uv": [3, 2, 5, 2.5], "texture": "#o"},
"up": {"uv": [13, 3, 15, 5], "texture": "#o"},
"down": {"uv": [13, 11, 15, 13], "texture": "#o"}
}
},
{
"from": [13, 13.5, 11],
"to": [15, 14, 13],
"faces": {
"north": {"uv": [1, 2, 3, 2.5], "texture": "#o"},
"east": {"uv": [3, 2, 5, 2.5], "texture": "#o"},
"south": {"uv": [13, 2, 15, 2.5], "texture": "#o"},
"west": {"uv": [11, 2, 13, 2.5], "texture": "#o"},
"up": {"uv": [13, 11, 15, 13], "texture": "#o"},
"down": {"uv": [13, 3, 15, 5], "texture": "#o"}
}
},
{
"from": [1, 13.5, 11],
"to": [3, 14, 13],
"faces": {
"north": {"uv": [13, 2, 15, 2.5], "texture": "#o"},
"east": {"uv": [3, 2, 5, 2.5], "texture": "#o"},
"south": {"uv": [1, 2, 3, 2.5], "texture": "#o"},
"west": {"uv": [11, 2, 13, 2.5], "texture": "#o"},
"up": {"uv": [1, 11, 3, 13], "texture": "#o"},
"down": {"uv": [1, 3, 3, 5], "texture": "#o"}
}
},
{
"from": [1, 13.5, 3],
"to": [3, 14, 5],
"faces": {
"north": {"uv": [13, 2, 15, 2.5], "texture": "#o"},
"east": {"uv": [11, 2, 13, 2.5], "texture": "#o"},
"south": {"uv": [1, 2, 3, 2.5], "texture": "#o"},
"west": {"uv": [3, 2, 5, 2.5], "texture": "#o"},
"up": {"uv": [1, 3, 3, 5], "texture": "#o"},
"down": {"uv": [1, 11, 3, 13], "texture": "#o"}
}
},
{
"from": [11, 13.5, 1],
"to": [13, 14, 3],
"faces": {
"north": {"uv": [3, 2, 5, 2.5], "texture": "#o"},
"east": {"uv": [13, 2, 15, 2.5], "texture": "#o"},
"south": {"uv": [11, 2, 13, 2.5], "texture": "#o"},
"west": {"uv": [1, 2, 3, 2.5], "texture": "#o"},
"up": {"uv": [11, 1, 13, 3], "texture": "#o"},
"down": {"uv": [11, 13, 13, 15], "texture": "#o"}
}
},
{
"from": [3, 13.5, 1],
"to": [5, 14, 3],
"faces": {
"north": {"uv": [11, 2, 13, 2.5], "texture": "#o"},
"east": {"uv": [13, 2, 15, 2.5], "texture": "#o"},
"south": {"uv": [3, 2, 5, 2.5], "texture": "#o"},
"west": {"uv": [1, 2, 3, 2.5], "texture": "#o"},
"up": {"uv": [3, 1, 5, 3], "texture": "#o"},
"down": {"uv": [3, 13, 5, 15], "texture": "#o"}
}
},
{
"from": [11, 13.5, 13],
"to": [13, 14, 15],
"faces": {
"north": {"uv": [3, 2, 5, 2.5], "texture": "#o"},
"east": {"uv": [1, 2, 3, 2.5], "texture": "#o"},
"south": {"uv": [11, 2, 13, 2.5], "texture": "#o"},
"west": {"uv": [13, 2, 15, 2.5], "texture": "#o"},
"up": {"uv": [11, 13, 13, 15], "texture": "#o"},
"down": {"uv": [11, 1, 13, 3], "texture": "#o"}
}
},
{
"from": [3, 13.5, 13],
"to": [5, 14, 15],
"faces": {
"north": {"uv": [11, 2, 13, 2.5], "texture": "#o"},
"east": {"uv": [1, 2, 3, 2.5], "texture": "#o"},
"south": {"uv": [3, 2, 5, 2.5], "texture": "#o"},
"west": {"uv": [13, 2, 15, 2.5], "texture": "#o"},
"up": {"uv": [3, 13, 5, 15], "texture": "#o"},
"down": {"uv": [3, 1, 5, 3], "texture": "#o"}
}
}
],
"display": {
"ground": {
"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]
}
}
}

View file

@ -1,159 +0,0 @@
{
"credit": "I made this with the Blockbench",
"parent": "block/cube",
"textures": {
"particle": "engineersdecor:block/iestyle/steel_texture",
"o": "engineersdecor:block/iestyle/steel_texture"
},
"display": {
"gui": { "rotation": [ 30, 225, 0 ], "scale": [0.625, 0.625, 0.625] },
"fixed": { "scale": [0.5, 0.5, 0.5] },
"ground": { "scale": [0.2, 0.2, 0.2] }
},
"elements": [
{
"from": [3, 2, 14],
"to": [13, 3, 15],
"faces": {
"north": {"uv": [1, 13, 16, 15], "texture": "#o"},
"east": {"uv": [12, 13, 14, 15], "texture": "#o"},
"south": {"uv": [1, 13, 16, 15], "texture": "#o"},
"west": {"uv": [13, 11, 15, 13], "texture": "#o"},
"up": {"uv": [1, 11, 16, 13], "texture": "#o"},
"down": {"uv": [1, 13, 16, 15], "texture": "#o"}
}
},
{
"from": [3, 6, 14],
"to": [13, 7, 15],
"faces": {
"north": {"uv": [3, 13, 16, 15], "texture": "#o"},
"east": {"uv": [6, 14, 8, 16], "texture": "#o"},
"south": {"uv": [3, 13, 16, 15], "texture": "#o"},
"west": {"uv": [7, 9, 9, 11], "texture": "#o"},
"up": {"uv": [0, 13, 13, 15], "texture": "#o"},
"down": {"uv": [3, 13, 16, 15], "texture": "#o"}
}
},
{
"from": [3, 14, 14],
"to": [13, 15, 15],
"faces": {
"north": {"uv": [2, 6, 16, 8], "texture": "#o"},
"east": {"uv": [7, 3, 9, 5], "texture": "#o"},
"south": {"uv": [2, 6, 16, 8], "texture": "#o"},
"west": {"uv": [2, 6, 4, 8], "texture": "#o"},
"up": {"uv": [0, 4, 14, 6], "texture": "#o"},
"down": {"uv": [2, 6, 16, 8], "texture": "#o"}
}
},
{
"from": [3, 10, 14],
"to": [13, 11, 15],
"faces": {
"north": {"uv": [0, 11, 13, 13], "texture": "#o"},
"east": {"uv": [1, 13, 3, 15], "texture": "#o"},
"south": {"uv": [0, 11, 13, 13], "texture": "#o"},
"west": {"uv": [0, 11, 2, 13], "texture": "#o"},
"up": {"uv": [0, 9, 13, 11], "texture": "#o"},
"down": {"uv": [0, 11, 13, 13], "texture": "#o"}
}
},
{
"from": [12, 2, 15],
"to": [13.25, 3, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"east": {"uv": [7, 9, 9, 11], "texture": "#o"},
"south": {"uv": [1, 12, 4.25, 14], "texture": "#o"},
"west": {"uv": [0, 0, 1, 1], "texture": "#o"},
"up": {"uv": [13, 4, 16, 6], "texture": "#o"},
"down": {"uv": [1, 12, 4, 14], "texture": "#o"}
}
},
{
"from": [2.75, 2, 15],
"to": [4, 3, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"east": {"uv": [0, 0, 1, 1], "texture": "#o"},
"south": {"uv": [11, 1, 14.25, 3], "texture": "#o"},
"west": {"uv": [11, 9, 13, 11], "texture": "#o"},
"up": {"uv": [12, 11, 15, 13], "texture": "#o"},
"down": {"uv": [7, 3, 10, 5], "texture": "#o"}
}
},
{
"from": [2.75, 10, 15],
"to": [4, 11, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"east": {"uv": [0, 0, 1, 1], "texture": "#o"},
"south": {"uv": [12, 14, 15.25, 16], "texture": "#o"},
"west": {"uv": [7, 10, 9, 12], "texture": "#o"},
"up": {"uv": [5, 12, 8, 14], "texture": "#o"},
"down": {"uv": [4, 14, 7, 16], "texture": "#o"}
}
},
{
"from": [12, 10, 15],
"to": [13.25, 11, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1.25], "texture": "#o"},
"east": {"uv": [2, 4, 5, 6.25], "texture": "#o"},
"south": {"uv": [10, 10, 13, 12], "texture": "#o"},
"west": {"uv": [0, 0, 1, 1.25], "texture": "#o"},
"up": {"uv": [7, 11, 9, 13], "texture": "#o"},
"down": {"uv": [8, 0, 11, 2], "texture": "#o"}
}
},
{
"from": [2.75, 6, 15],
"to": [4, 7, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"east": {"uv": [0, 0, 1, 1], "texture": "#o"},
"south": {"uv": [4, 7, 7.25, 9], "texture": "#o"},
"west": {"uv": [11, 9, 13, 11], "texture": "#o"},
"up": {"uv": [0, 13, 3, 15], "texture": "#o"},
"down": {"uv": [4, 7, 7, 9], "texture": "#o"}
}
},
{
"from": [12, 6, 15],
"to": [13.25, 7, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"east": {"uv": [8, 9, 10, 11], "texture": "#o"},
"south": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"west": {"uv": [0, 0, 1, 1], "texture": "#o"},
"up": {"uv": [5, 13, 8, 15], "texture": "#o"},
"down": {"uv": [8, 14, 11, 16], "texture": "#o"}
}
},
{
"from": [2.75, 14, 15],
"to": [4, 15, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"east": {"uv": [0, 0, 1, 1], "texture": "#o"},
"south": {"uv": [3, 11, 6, 13], "texture": "#o"},
"west": {"uv": [14, 7, 16, 9], "texture": "#o"},
"up": {"uv": [7, 12, 10, 14], "texture": "#o"},
"down": {"uv": [12, 7, 15, 9], "texture": "#o"}
}
},
{
"from": [12, 14, 15],
"to": [13.25, 15, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1.25], "texture": "#o"},
"east": {"uv": [0, 0, 3, 2.25], "texture": "#o"},
"south": {"uv": [0, 13, 3, 15], "texture": "#o"},
"west": {"uv": [0, 0, 1, 1.25], "texture": "#o"},
"up": {"uv": [3, 7, 5.25, 9], "texture": "#o"},
"down": {"uv": [0, 0, 1.25, 1], "texture": "#o"}
}
}
]
}

View file

@ -1,166 +0,0 @@
{
"credit": "I made this with the Blockbench",
"parent": "block/cube",
"textures": {
"o": "engineersdecor:block/iestyle/steel_texture",
"particle": "engineersdecor:block/iestyle/steel_texture"
},
"elements": [
{
"from": [3, 2, 14],
"to": [7, 3, 15],
"faces": {
"north": {"uv": [1, 13, 9, 15], "texture": "#o"},
"east": {"uv": [12, 13, 14, 15], "texture": "#o"},
"south": {"uv": [4, 10, 11, 12], "texture": "#o"},
"west": {"uv": [13, 11, 15, 13], "texture": "#o"},
"up": {"uv": [1, 11, 9, 13], "texture": "#o"},
"down": {"uv": [7, 2, 14, 4], "texture": "#o"}
}
},
{
"from": [9, 6, 14],
"to": [13, 7, 15],
"faces": {
"north": {"uv": [3, 13, 9, 15], "texture": "#o"},
"east": {"uv": [6, 14, 8, 16], "texture": "#o"},
"south": {"uv": [4, 10, 11, 12], "texture": "#o"},
"west": {"uv": [7, 9, 9, 11], "texture": "#o"},
"up": {"uv": [6, 11, 13, 13], "texture": "#o"},
"down": {"uv": [9, 12, 16, 14], "texture": "#o"}
}
},
{
"from": [9, 14, 14],
"to": [13, 15, 15],
"faces": {
"north": {"uv": [2, 6, 9, 8], "texture": "#o"},
"east": {"uv": [7, 3, 9, 5], "texture": "#o"},
"south": {"uv": [5, 13, 13, 15], "texture": "#o"},
"west": {"uv": [2, 6, 4, 8], "texture": "#o"},
"up": {"uv": [6, 9, 13, 11], "texture": "#o"},
"down": {"uv": [4, 10, 11, 12], "texture": "#o"}
}
},
{
"from": [3, 10, 14],
"to": [7, 11, 15],
"faces": {
"north": {"uv": [0, 11, 6, 13], "texture": "#o"},
"east": {"uv": [1, 13, 3, 15], "texture": "#o"},
"south": {"uv": [4, 6, 12, 8], "texture": "#o"},
"west": {"uv": [0, 11, 2, 13], "texture": "#o"},
"up": {"uv": [3, 5, 11, 7], "texture": "#o"},
"down": {"uv": [5, 7, 12, 9], "texture": "#o"}
}
},
{
"from": [6, 2, 15],
"to": [7.25, 3, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"east": {"uv": [7, 9, 9, 11], "texture": "#o"},
"south": {"uv": [1, 12, 4.25, 14], "texture": "#o"},
"west": {"uv": [0, 0, 1, 1], "texture": "#o"},
"up": {"uv": [13, 4, 16, 6], "texture": "#o"},
"down": {"uv": [1, 12, 4, 14], "texture": "#o"}
}
},
{
"from": [2.75, 2, 15],
"to": [4, 3, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"east": {"uv": [0, 0, 1, 1], "texture": "#o"},
"south": {"uv": [11, 1, 14.25, 3], "texture": "#o"},
"west": {"uv": [11, 9, 13, 11], "texture": "#o"},
"up": {"uv": [12, 11, 15, 13], "texture": "#o"},
"down": {"uv": [7, 3, 10, 5], "texture": "#o"}
}
},
{
"from": [2.75, 10, 15],
"to": [4, 11, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"east": {"uv": [0, 0, 1, 1], "texture": "#o"},
"south": {"uv": [12, 14, 15.25, 16], "texture": "#o"},
"west": {"uv": [7, 10, 9, 12], "texture": "#o"},
"up": {"uv": [5, 12, 8, 14], "texture": "#o"},
"down": {"uv": [4, 14, 7, 16], "texture": "#o"}
}
},
{
"from": [6, 10, 15],
"to": [7.25, 11, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1.25], "texture": "#o"},
"east": {"uv": [2, 4, 5, 6.25], "texture": "#o"},
"south": {"uv": [10, 10, 13, 12], "texture": "#o"},
"west": {"uv": [0, 0, 1, 1.25], "texture": "#o"},
"up": {"uv": [7, 11, 9, 13], "texture": "#o"},
"down": {"uv": [8, 0, 11, 2], "texture": "#o"}
}
},
{
"from": [8.75, 6, 15],
"to": [10, 7, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"east": {"uv": [0, 0, 1, 1], "texture": "#o"},
"south": {"uv": [4, 7, 7.25, 9], "texture": "#o"},
"west": {"uv": [11, 9, 13, 11], "texture": "#o"},
"up": {"uv": [0, 13, 3, 15], "texture": "#o"},
"down": {"uv": [4, 7, 7, 9], "texture": "#o"}
}
},
{
"from": [12, 6, 15],
"to": [13.25, 7, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"east": {"uv": [8, 9, 10, 11], "texture": "#o"},
"south": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"west": {"uv": [0, 0, 1, 1], "texture": "#o"},
"up": {"uv": [5, 13, 8, 15], "texture": "#o"},
"down": {"uv": [8, 14, 11, 16], "texture": "#o"}
}
},
{
"from": [8.75, 14, 15],
"to": [10, 15, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1], "texture": "#o"},
"east": {"uv": [0, 0, 1, 1], "texture": "#o"},
"south": {"uv": [3, 11, 6, 13], "texture": "#o"},
"west": {"uv": [14, 7, 16, 9], "texture": "#o"},
"up": {"uv": [7, 12, 10, 14], "texture": "#o"},
"down": {"uv": [12, 7, 15, 9], "texture": "#o"}
}
},
{
"from": [12, 14, 15],
"to": [13.25, 15, 16],
"faces": {
"north": {"uv": [0, 0, 1.25, 1.25], "texture": "#o"},
"east": {"uv": [0, 0, 3, 2.25], "texture": "#o"},
"south": {"uv": [0, 13, 3, 15], "texture": "#o"},
"west": {"uv": [0, 0, 1, 1.25], "texture": "#o"},
"up": {"uv": [3, 7, 5.25, 9], "texture": "#o"},
"down": {"uv": [0, 0, 1.25, 1], "texture": "#o"}
}
}
],
"display": {
"ground": {
"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]
}
}
}

View file

@ -1,94 +0,0 @@
{
"credit": "I made this with the Blockbench",
"parent": "block/cube",
"textures": {
"o": "engineersdecor:block/iestyle/treated_wood_rough_texture",
"particle": "engineersdecor:block/iestyle/treated_wood_rough_texture"
},
"elements": [
{
"from": [4, 2, 14.625],
"to": [12, 3, 15.625],
"faces": {
"north": {"uv": [0, 11, 15, 13], "texture": "#o"},
"east": {"uv": [12, 13, 14, 15], "texture": "#o"},
"south": {"uv": [1, 13, 16, 15], "texture": "#o"},
"west": {"uv": [13, 11, 15, 13], "texture": "#o"},
"up": {"uv": [1, 11, 16, 13], "texture": "#o"},
"down": {"uv": [1, 13, 16, 15], "texture": "#o"}
}
},
{
"from": [4, 6, 14.625],
"to": [12, 7, 15.625],
"faces": {
"north": {"uv": [1, 6, 14, 8], "texture": "#o"},
"east": {"uv": [6, 14, 8, 16], "texture": "#o"},
"south": {"uv": [3, 13, 16, 15], "texture": "#o"},
"west": {"uv": [7, 9, 9, 11], "texture": "#o"},
"up": {"uv": [0, 13, 13, 15], "texture": "#o"},
"down": {"uv": [3, 13, 16, 15], "texture": "#o"}
}
},
{
"from": [4, 14, 14.625],
"to": [12, 15, 15.625],
"faces": {
"north": {"uv": [0, 4, 14, 6], "texture": "#o"},
"east": {"uv": [7, 3, 9, 5], "texture": "#o"},
"south": {"uv": [2, 6, 16, 8], "texture": "#o"},
"west": {"uv": [2, 6, 4, 8], "texture": "#o"},
"up": {"uv": [0, 4, 14, 6], "texture": "#o"},
"down": {"uv": [2, 6, 16, 8], "texture": "#o"}
}
},
{
"from": [4, 10, 14.625],
"to": [12, 11, 15.625],
"faces": {
"north": {"uv": [3, 5, 16, 7], "texture": "#o"},
"east": {"uv": [1, 13, 3, 15], "texture": "#o"},
"south": {"uv": [0, 11, 13, 13], "texture": "#o"},
"west": {"uv": [0, 11, 2, 13], "texture": "#o"},
"up": {"uv": [0, 9, 13, 11], "texture": "#o"},
"down": {"uv": [0, 11, 13, 13], "texture": "#o"}
}
},
{
"from": [2.75, 0, 14.5],
"to": [4, 16, 16],
"faces": {
"north": {"uv": [2, 0, 4, 16], "texture": "#o"},
"east": {"uv": [2, 0, 4, 16], "texture": "#o"},
"south": {"uv": [5, 0, 7, 16], "texture": "#o"},
"west": {"uv": [8, 0, 11, 16], "texture": "#o"},
"up": {"uv": [11, 9, 13, 12], "texture": "#o"},
"down": {"uv": [13, 9, 15, 12], "texture": "#o"}
}
},
{
"from": [12, 0, 14.5],
"to": [13.25, 16, 16],
"faces": {
"north": {"uv": [1, 0, 3, 16], "texture": "#o"},
"east": {"uv": [5, 0, 7, 16], "texture": "#o"},
"south": {"uv": [13, 0, 15, 16], "texture": "#o"},
"west": {"uv": [1, 0, 3, 16], "texture": "#o"},
"up": {"uv": [6, 6, 8, 9], "texture": "#o"},
"down": {"uv": [8, 5, 10, 8], "texture": "#o"}
}
}
],
"display": {
"ground": {
"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]
}
}
}

Some files were not shown because too many files have changed in this diff Show more