mirror of
https://gitlab.com/cable-mc/cobblemon.git
synced 2026-10-26 09:06:26 -04:00
Compare commits
39
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
49c22f951d | ||
|
|
a94cbc4eae | ||
|
|
a0e732dc6e | ||
|
|
ea20c2aa4c | ||
|
|
da5272c473 | ||
|
|
a785e574e0 | ||
|
|
4b236b0268 | ||
|
|
1cd86ae5d6 | ||
|
|
b7489a0b14 | ||
|
|
f7554425dc | ||
|
|
858d2e908a | ||
|
|
b61e0b0c82 | ||
|
|
4d9a6e71c9 | ||
|
|
a0010de504 | ||
|
|
cb73a30e23 | ||
|
|
9a7536b068 | ||
|
|
bd973e702e | ||
|
|
ede1851d34 | ||
|
|
32b0699235 | ||
|
|
e9c6580230 | ||
|
|
f893eb48fd | ||
|
|
232e2f18bf | ||
|
|
c266c99710 | ||
|
|
5083af626c | ||
|
|
137bb37c29 | ||
|
|
eec578b312 | ||
|
|
b6abe9711d | ||
|
|
38c2e0d194 | ||
|
|
69566a97ca | ||
|
|
6866e9af9b | ||
|
|
e45f2c6261 | ||
|
|
d9bea49567 | ||
|
|
235b753a25 | ||
|
|
3d48432390 | ||
|
|
7b03940dab | ||
|
|
8d5d37c750 | ||
|
|
cdb9c80c0e | ||
|
|
a77f035617 | ||
|
|
4354c3fb03 |
@@ -157,6 +157,9 @@ build:
|
||||
paths:
|
||||
- neoforge/build/libs
|
||||
- fabric/build/libs
|
||||
exclude:
|
||||
- neoforge/build/libs/*-dev-shadow.jar
|
||||
- fabric/build/libs/*-dev-shadow.jar
|
||||
|
||||
publish:
|
||||
stage: deploy
|
||||
|
||||
@@ -59,6 +59,8 @@
|
||||
- Updated various recipes to display in Recipe Groups within the Recipe Book
|
||||
- Updated most recipes to display more logically/consistently within the Recipe Book's categories
|
||||
- Make ride rotations less jittery in multiplayer.
|
||||
- Changes tm shelf discs to use textures instead of tinting and overlays to line up with item display
|
||||
- Blank TM can now be inserted into the Disc Shelf
|
||||
|
||||
### Fixes
|
||||
- Correctly grants "They're Minerals!" advancement when planting a type gem
|
||||
@@ -81,8 +83,11 @@
|
||||
- Fixed Diglett line not having their faint animations
|
||||
- Fixed Kingambit moving its legs while walking
|
||||
- Various Structure fixes
|
||||
- Fixed shiny pokemon under certain circumstances forgetting taught TMs
|
||||
|
||||
### Developer
|
||||
- Fixed wrong order of operations in the code flow prior to the `FOSSIL_REVIVED` event causing pokemon to appear without entity link
|
||||
- Fixed TestPartySlot command not correctly comparing the provided spec with the target Pokémon
|
||||
|
||||
### Molang & Datapacks
|
||||
- A new `negate` variant for evolution requirements has been added, which will negate (invert) the provided inner condition.
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
Spec Doc: https://docs.google.com/document/d/1hEKKrT4JEagJBykx-k9K2BoeNxiMGahUWXnf8YQ85xo/edit?tab=t.0
|
||||
Marshal: dhi_holo
|
||||
+5
-2
@@ -1,3 +1,6 @@
|
||||
import utilities.gitBranch
|
||||
import utilities.gitShortCommit
|
||||
|
||||
plugins {
|
||||
id("cobblemon.root-conventions")
|
||||
}
|
||||
@@ -6,6 +9,6 @@ version = "${project.property("mod_version")}+${project.property("mc_version")}"
|
||||
|
||||
val isSnapshot = project.property("snapshot")?.equals("true") == true
|
||||
if (isSnapshot) {
|
||||
val fixedBranchName = versioning.info.branch.substringAfter("/")
|
||||
version = "$version-${fixedBranchName}-${versioning.info.build}"
|
||||
val fixedBranchName = gitBranch().substringAfter("/")
|
||||
version = "$version-${fixedBranchName}-${gitShortCommit()}"
|
||||
}
|
||||
|
||||
+15
-6
@@ -1,9 +1,8 @@
|
||||
|
||||
import utilities.isSnapshot
|
||||
import utilities.version
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.ZoneOffset
|
||||
import java.time.format.DateTimeFormatter
|
||||
import utilities.gitBranch
|
||||
import utilities.gitCommit
|
||||
|
||||
/*
|
||||
*
|
||||
@@ -72,6 +71,14 @@ tasks.withType<Test> {
|
||||
}
|
||||
}
|
||||
|
||||
// Git info lives in its own output dir (not processResources) so a new commit only rewrites this one file.
|
||||
val writeGitInfo by tasks.registering(WriteProperties::class) {
|
||||
destinationFile = layout.buildDirectory.file("generated/gitInfo/cobblemon-git.properties")
|
||||
property("commit", gitCommit())
|
||||
property("branch", gitBranch())
|
||||
}
|
||||
sourceSets.main { output.dir(mapOf("builtBy" to writeGitInfo), layout.buildDirectory.dir("generated/gitInfo")) }
|
||||
|
||||
tasks.processResources {
|
||||
exclude("data/**/README.md")
|
||||
}
|
||||
@@ -98,11 +105,13 @@ sourceSets {
|
||||
property("modid", "cobblemon")
|
||||
property("version", project.version())
|
||||
property("isSnapshot", if(rootProject.isSnapshot()) "true" else "false")
|
||||
property("gitCommit", versioning.info.commit)
|
||||
property("branch", versioning.info.branch)
|
||||
System.getProperty("buildNumber")?.let { property("buildNumber", it) }
|
||||
property("timestamp", OffsetDateTime.now(ZoneOffset.UTC).format(DateTimeFormatter.ofPattern("MM/dd/yyyy hh:mm:ss")) + " UTC")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// The platform jars are built from :common:jar, so the remapped common jars are only needed by `publish`
|
||||
tasks.assemble {
|
||||
setDependsOn(dependsOn.filterNot { (it as? TaskProvider<*>)?.name in setOf("remapJar", "remapSourcesJar") })
|
||||
}
|
||||
|
||||
@@ -8,8 +8,12 @@ object CobblemonBuildDetails {
|
||||
const val VERSION = "{{ version }}"
|
||||
const val SNAPSHOT = {{ isSnapshot }}
|
||||
|
||||
const val GIT_COMMIT = "{{ gitCommit | default("Not Specified") }}"
|
||||
const val BRANCH = "{{ branch | default("Not Specified") }}"
|
||||
// Read at runtime rather than templated in, so a new commit doesn't invalidate compiled code.
|
||||
private val git = java.util.Properties().apply {
|
||||
CobblemonBuildDetails::class.java.getResourceAsStream("/cobblemon-git.properties")?.use(::load)
|
||||
}
|
||||
@JvmField val GIT_COMMIT: String = git.getProperty("commit", "Not Specified")
|
||||
@JvmField val BRANCH: String = git.getProperty("branch", "Not Specified")
|
||||
|
||||
fun smallCommitHash(): String {
|
||||
return this.GIT_COMMIT.substring(0, 7)
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.cobblemon.mod.common.api.apricorn.Apricorn
|
||||
import com.cobblemon.mod.common.api.pokemon.stats.Stats
|
||||
import com.cobblemon.mod.common.block.*
|
||||
import com.cobblemon.mod.common.block.LecternBlock
|
||||
import com.cobblemon.mod.common.block.appliances.*
|
||||
import com.cobblemon.mod.common.block.MintBlock.MintType
|
||||
import com.cobblemon.mod.common.block.campfirepot.CampfireBlock
|
||||
import com.cobblemon.mod.common.block.campfirepot.CampfirePotBlock
|
||||
@@ -28,12 +29,7 @@ import com.cobblemon.mod.common.block.sign.CobblemonSignBlock
|
||||
import com.cobblemon.mod.common.block.sign.CobblemonWallHangingSignBlock
|
||||
import com.cobblemon.mod.common.block.sign.CobblemonWallSignBlock
|
||||
import com.cobblemon.mod.common.block.tmmachine.TMMachineBlock
|
||||
import com.cobblemon.mod.common.mixin.invoker.BlocksInvoker
|
||||
import com.cobblemon.mod.common.mixin.invoker.DoorBlockInvoker
|
||||
import com.cobblemon.mod.common.mixin.invoker.FireBlockInvoker
|
||||
import com.cobblemon.mod.common.mixin.invoker.PressurePlateBlockInvoker
|
||||
import com.cobblemon.mod.common.mixin.invoker.StairsBlockInvoker
|
||||
import com.cobblemon.mod.common.mixin.invoker.TrapdoorBlockInvoker
|
||||
import com.cobblemon.mod.common.mixin.invoker.*
|
||||
import com.cobblemon.mod.common.platform.PlatformRegistry
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import net.minecraft.core.BlockPos
|
||||
@@ -809,6 +805,93 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, ResourceKey<Registry<
|
||||
@JvmField
|
||||
val DISPLAY_CASE = create("display_case", DisplayCaseBlock(BlockBehaviour.Properties.of().sound(CobblemonSounds.DISPLAY_CASE_SOUNDS).noOcclusion().pushReaction(PushReaction.BLOCK).mapColor(MapColor.STONE).strength(0.3F).requiresCorrectToolForDrops()))
|
||||
|
||||
//Rotom Blocks
|
||||
//Oven
|
||||
@JvmField
|
||||
val COPPER_OVEN = create("copper_oven", WeatheringCopperOvenBlock(WeatheringCopper.WeatherState.UNAFFECTED, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(3.0f, 6.0f).sound(SoundType.COPPER).pushReaction(PushReaction.BLOCK)))
|
||||
@JvmField
|
||||
val EXPOSED_COPPER_OVEN = create("exposed_copper_oven", WeatheringCopperOvenBlock(WeatheringCopper.WeatherState.EXPOSED, BlockBehaviour.Properties.ofFullCopy(COPPER_OVEN).mapColor(MapColor.TERRACOTTA_LIGHT_GRAY)))
|
||||
@JvmField
|
||||
val WEATHERED_COPPER_OVEN = create("weathered_copper_oven", WeatheringCopperOvenBlock(WeatheringCopper.WeatherState.WEATHERED, BlockBehaviour.Properties.ofFullCopy(COPPER_OVEN).mapColor(MapColor.WARPED_STEM)))
|
||||
@JvmField
|
||||
val OXIDIZED_COPPER_OVEN = create("oxidized_copper_oven", WeatheringCopperOvenBlock(WeatheringCopper.WeatherState.OXIDIZED, BlockBehaviour.Properties.ofFullCopy(COPPER_OVEN).mapColor(MapColor.WARPED_NYLIUM)))
|
||||
@JvmField
|
||||
val WAXED_COPPER_OVEN = create("waxed_copper_oven", CopperOvenBlock(BlockBehaviour.Properties.ofFullCopy(COPPER_OVEN)))
|
||||
@JvmField
|
||||
val WAXED_EXPOSED_COPPER_OVEN = create("waxed_exposed_copper_oven", CopperOvenBlock(BlockBehaviour.Properties.ofFullCopy(EXPOSED_COPPER_OVEN)))
|
||||
@JvmField
|
||||
val WAXED_WEATHERED_COPPER_OVEN = create("waxed_weathered_copper_oven", CopperOvenBlock(BlockBehaviour.Properties.ofFullCopy(WEATHERED_COPPER_OVEN)))
|
||||
@JvmField
|
||||
val WAXED_OXIDIZED_COPPER_OVEN = create("waxed_oxidized_copper_oven", CopperOvenBlock(BlockBehaviour.Properties.ofFullCopy(OXIDIZED_COPPER_OVEN)))
|
||||
//Washer
|
||||
@JvmField
|
||||
val COPPER_WASHER = create("copper_washer", WeatheringCopperWasherBlock(WeatheringCopper.WeatherState.UNAFFECTED, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(3.0f, 6.0f).sound(SoundType.COPPER).pushReaction(PushReaction.BLOCK)))
|
||||
@JvmField
|
||||
val EXPOSED_COPPER_WASHER = create("exposed_copper_washer", WeatheringCopperWasherBlock(WeatheringCopper.WeatherState.EXPOSED, BlockBehaviour.Properties.ofFullCopy(COPPER_WASHER).mapColor(MapColor.TERRACOTTA_LIGHT_GRAY)))
|
||||
@JvmField
|
||||
val WEATHERED_COPPER_WASHER = create("weathered_copper_washer", WeatheringCopperWasherBlock(WeatheringCopper.WeatherState.WEATHERED, BlockBehaviour.Properties.ofFullCopy(COPPER_WASHER).mapColor(MapColor.WARPED_STEM)))
|
||||
@JvmField
|
||||
val OXIDIZED_COPPER_WASHER = create("oxidized_copper_washer", WeatheringCopperWasherBlock(WeatheringCopper.WeatherState.OXIDIZED, BlockBehaviour.Properties.ofFullCopy(COPPER_WASHER).mapColor(MapColor.WARPED_NYLIUM)))
|
||||
@JvmField
|
||||
val WAXED_COPPER_WASHER = create("waxed_copper_washer", CopperWasherBlock(BlockBehaviour.Properties.ofFullCopy(COPPER_WASHER)))
|
||||
@JvmField
|
||||
val WAXED_EXPOSED_COPPER_WASHER = create("waxed_exposed_copper_washer", CopperWasherBlock(BlockBehaviour.Properties.ofFullCopy(EXPOSED_COPPER_WASHER)))
|
||||
@JvmField
|
||||
val WAXED_WEATHERED_COPPER_WASHER = create("waxed_weathered_copper_washer", CopperWasherBlock(BlockBehaviour.Properties.ofFullCopy(WEATHERED_COPPER_WASHER)))
|
||||
@JvmField
|
||||
val WAXED_OXIDIZED_COPPER_WASHER = create("waxed_oxidized_copper_washer", CopperWasherBlock(BlockBehaviour.Properties.ofFullCopy(OXIDIZED_COPPER_WASHER)))
|
||||
//Fan
|
||||
@JvmField
|
||||
val COPPER_FAN = create("copper_fan", WeatheringCopperFanBlock(WeatheringCopper.WeatherState.UNAFFECTED, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(3.0f, 6.0f).sound(SoundType.COPPER).pushReaction(PushReaction.DESTROY)))
|
||||
@JvmField
|
||||
val EXPOSED_COPPER_FAN = create("exposed_copper_fan", WeatheringCopperFanBlock(WeatheringCopper.WeatherState.EXPOSED, BlockBehaviour.Properties.ofFullCopy(COPPER_FAN).mapColor(MapColor.TERRACOTTA_LIGHT_GRAY)))
|
||||
@JvmField
|
||||
val WEATHERED_COPPER_FAN = create("weathered_copper_fan", WeatheringCopperFanBlock(WeatheringCopper.WeatherState.WEATHERED, BlockBehaviour.Properties.ofFullCopy(COPPER_FAN).mapColor(MapColor.WARPED_STEM)))
|
||||
@JvmField
|
||||
val OXIDIZED_COPPER_FAN = create("oxidized_copper_fan", WeatheringCopperFanBlock(WeatheringCopper.WeatherState.OXIDIZED, BlockBehaviour.Properties.ofFullCopy(COPPER_FAN).mapColor(MapColor.WARPED_NYLIUM)))
|
||||
@JvmField
|
||||
val WAXED_COPPER_FAN = create("waxed_copper_fan", CopperFanBlock(BlockBehaviour.Properties.ofFullCopy(COPPER_FAN)))
|
||||
@JvmField
|
||||
val WAXED_EXPOSED_COPPER_FAN = create("waxed_exposed_copper_fan", CopperFanBlock(BlockBehaviour.Properties.ofFullCopy(EXPOSED_COPPER_FAN)))
|
||||
@JvmField
|
||||
val WAXED_WEATHERED_COPPER_FAN = create("waxed_weathered_copper_fan", CopperFanBlock(BlockBehaviour.Properties.ofFullCopy(WEATHERED_COPPER_FAN)))
|
||||
@JvmField
|
||||
val WAXED_OXIDIZED_COPPER_FAN = create("waxed_oxidized_copper_fan", CopperFanBlock(BlockBehaviour.Properties.ofFullCopy(OXIDIZED_COPPER_FAN)))
|
||||
//Mower
|
||||
@JvmField
|
||||
val COPPER_MOWER = create("copper_mower", WeatheringCopperMowerBlock(WeatheringCopper.WeatherState.UNAFFECTED, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(3.0f, 6.0f).sound(SoundType.COPPER).pushReaction(PushReaction.NORMAL)))
|
||||
@JvmField
|
||||
val EXPOSED_COPPER_MOWER = create("exposed_copper_mower", WeatheringCopperMowerBlock(WeatheringCopper.WeatherState.EXPOSED, BlockBehaviour.Properties.ofFullCopy(COPPER_MOWER).mapColor(MapColor.TERRACOTTA_LIGHT_GRAY)))
|
||||
@JvmField
|
||||
val WEATHERED_COPPER_MOWER = create("weathered_copper_mower", WeatheringCopperMowerBlock(WeatheringCopper.WeatherState.WEATHERED, BlockBehaviour.Properties.ofFullCopy(COPPER_MOWER).mapColor(MapColor.WARPED_STEM)))
|
||||
@JvmField
|
||||
val OXIDIZED_COPPER_MOWER = create("oxidized_copper_mower", WeatheringCopperMowerBlock(WeatheringCopper.WeatherState.OXIDIZED, BlockBehaviour.Properties.ofFullCopy(COPPER_MOWER).mapColor(MapColor.WARPED_NYLIUM)))
|
||||
@JvmField
|
||||
val WAXED_COPPER_MOWER = create("waxed_copper_mower", CopperMowerBlock(BlockBehaviour.Properties.ofFullCopy(COPPER_MOWER)))
|
||||
@JvmField
|
||||
val WAXED_EXPOSED_COPPER_MOWER = create("waxed_exposed_copper_mower", CopperMowerBlock(BlockBehaviour.Properties.ofFullCopy(EXPOSED_COPPER_MOWER)))
|
||||
@JvmField
|
||||
val WAXED_WEATHERED_COPPER_MOWER = create("waxed_weathered_copper_mower", CopperMowerBlock(BlockBehaviour.Properties.ofFullCopy(WEATHERED_COPPER_MOWER)))
|
||||
@JvmField
|
||||
val WAXED_OXIDIZED_COPPER_MOWER = create("waxed_oxidized_copper_mower", CopperMowerBlock(BlockBehaviour.Properties.ofFullCopy(OXIDIZED_COPPER_MOWER)))
|
||||
//Fridge
|
||||
@JvmField
|
||||
val COPPER_FRIDGE = create("copper_fridge", WeatheringCopperFridgeBlock(WeatheringCopper.WeatherState.UNAFFECTED, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(3.0f, 6.0f).sound(SoundType.COPPER).pushReaction(PushReaction.BLOCK)))
|
||||
@JvmField
|
||||
val EXPOSED_COPPER_FRIDGE = create("exposed_copper_fridge", WeatheringCopperFridgeBlock(WeatheringCopper.WeatherState.EXPOSED, BlockBehaviour.Properties.ofFullCopy(COPPER_FRIDGE).mapColor(MapColor.TERRACOTTA_LIGHT_GRAY)))
|
||||
@JvmField
|
||||
val WEATHERED_COPPER_FRIDGE = create("weathered_copper_fridge", WeatheringCopperFridgeBlock(WeatheringCopper.WeatherState.WEATHERED, BlockBehaviour.Properties.ofFullCopy(COPPER_FRIDGE).mapColor(MapColor.WARPED_STEM)))
|
||||
@JvmField
|
||||
val OXIDIZED_COPPER_FRIDGE = create("oxidized_copper_fridge", WeatheringCopperFridgeBlock(WeatheringCopper.WeatherState.OXIDIZED, BlockBehaviour.Properties.ofFullCopy(COPPER_FRIDGE).mapColor(MapColor.WARPED_NYLIUM)))
|
||||
@JvmField
|
||||
val WAXED_COPPER_FRIDGE = create("waxed_copper_fridge", CopperFridgeBlock(BlockBehaviour.Properties.ofFullCopy(COPPER_FRIDGE)))
|
||||
@JvmField
|
||||
val WAXED_EXPOSED_COPPER_FRIDGE = create("waxed_exposed_copper_fridge", CopperFridgeBlock(BlockBehaviour.Properties.ofFullCopy(EXPOSED_COPPER_FRIDGE)))
|
||||
@JvmField
|
||||
val WAXED_WEATHERED_COPPER_FRIDGE = create("waxed_weathered_copper_fridge", CopperFridgeBlock(BlockBehaviour.Properties.ofFullCopy(WEATHERED_COPPER_FRIDGE)))
|
||||
@JvmField
|
||||
val WAXED_OXIDIZED_COPPER_FRIDGE = create("waxed_oxidized_copper_fridge", CopperFridgeBlock(BlockBehaviour.Properties.ofFullCopy(OXIDIZED_COPPER_FRIDGE)))
|
||||
|
||||
// TODO after 1.7
|
||||
// @JvmField
|
||||
// val INCENSE_SWEET = create("incense_sweet", SweetIncenseBlock(BlockBehaviour.Properties.of().sound(CobblemonSounds.DISPLAY_CASE_SOUNDS).noOcclusion().pushReaction(PushReaction.BLOCK).mapColor(MapColor.STONE).strength(0.3F)))
|
||||
@@ -876,6 +959,57 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, ResourceKey<Registry<
|
||||
SACCHARINE_LOG to STRIPPED_SACCHARINE_LOG,
|
||||
SACCHARINE_LOG_SLATHERED to STRIPPED_SACCHARINE_LOG
|
||||
)
|
||||
/**Same idea as above, but for Copper Oxidation over time (or when inverted, scraping with an axe)*/
|
||||
fun oxidizingBlocks(): Map<Block, Block> = mapOf(
|
||||
//Ovens
|
||||
COPPER_OVEN to EXPOSED_COPPER_OVEN,
|
||||
EXPOSED_COPPER_OVEN to WEATHERED_COPPER_OVEN,
|
||||
WEATHERED_COPPER_OVEN to OXIDIZED_COPPER_OVEN,
|
||||
//Washers
|
||||
COPPER_WASHER to EXPOSED_COPPER_WASHER,
|
||||
EXPOSED_COPPER_WASHER to WEATHERED_COPPER_WASHER,
|
||||
WEATHERED_COPPER_WASHER to OXIDIZED_COPPER_WASHER,
|
||||
//Fans
|
||||
COPPER_FAN to EXPOSED_COPPER_FAN,
|
||||
EXPOSED_COPPER_FAN to WEATHERED_COPPER_FAN,
|
||||
WEATHERED_COPPER_FAN to OXIDIZED_COPPER_FAN,
|
||||
//Fridges
|
||||
COPPER_FRIDGE to EXPOSED_COPPER_FRIDGE,
|
||||
EXPOSED_COPPER_FRIDGE to WEATHERED_COPPER_FRIDGE,
|
||||
WEATHERED_COPPER_FRIDGE to OXIDIZED_COPPER_FRIDGE,
|
||||
//Mowers
|
||||
COPPER_MOWER to EXPOSED_COPPER_MOWER,
|
||||
EXPOSED_COPPER_MOWER to WEATHERED_COPPER_MOWER,
|
||||
WEATHERED_COPPER_MOWER to OXIDIZED_COPPER_MOWER
|
||||
)
|
||||
/**Same idea as above, but for waxing blocks with Honeycomb (or unwaxing them with an axe)*/
|
||||
fun waxingBlocks(): Map<Block, Block> = mapOf(
|
||||
//Ovens
|
||||
COPPER_OVEN to WAXED_COPPER_OVEN,
|
||||
EXPOSED_COPPER_OVEN to WAXED_EXPOSED_COPPER_OVEN,
|
||||
WEATHERED_COPPER_OVEN to WAXED_WEATHERED_COPPER_OVEN,
|
||||
OXIDIZED_COPPER_OVEN to WAXED_OXIDIZED_COPPER_OVEN,
|
||||
//Washers
|
||||
COPPER_WASHER to WAXED_COPPER_WASHER,
|
||||
EXPOSED_COPPER_WASHER to WAXED_EXPOSED_COPPER_WASHER,
|
||||
WEATHERED_COPPER_WASHER to WAXED_WEATHERED_COPPER_WASHER,
|
||||
OXIDIZED_COPPER_WASHER to WAXED_OXIDIZED_COPPER_WASHER,
|
||||
//Fans
|
||||
COPPER_FAN to WAXED_COPPER_FAN,
|
||||
EXPOSED_COPPER_FAN to WAXED_EXPOSED_COPPER_FAN,
|
||||
WEATHERED_COPPER_FAN to WAXED_WEATHERED_COPPER_FAN,
|
||||
OXIDIZED_COPPER_FAN to WAXED_OXIDIZED_COPPER_FAN,
|
||||
//Fridges
|
||||
COPPER_FRIDGE to WAXED_COPPER_FRIDGE,
|
||||
EXPOSED_COPPER_FRIDGE to WAXED_EXPOSED_COPPER_FRIDGE,
|
||||
WEATHERED_COPPER_FRIDGE to WAXED_WEATHERED_COPPER_FRIDGE,
|
||||
OXIDIZED_COPPER_FRIDGE to WAXED_OXIDIZED_COPPER_FRIDGE,
|
||||
//Mowers
|
||||
COPPER_MOWER to WAXED_COPPER_MOWER,
|
||||
EXPOSED_COPPER_MOWER to WAXED_EXPOSED_COPPER_MOWER,
|
||||
WEATHERED_COPPER_MOWER to WAXED_WEATHERED_COPPER_MOWER,
|
||||
OXIDIZED_COPPER_MOWER to WAXED_OXIDIZED_COPPER_MOWER
|
||||
)
|
||||
|
||||
private fun apricornBlock(name: String, apricorn: Apricorn): ApricornBlock = this.create(name, ApricornBlock(BlockBehaviour.Properties.of().mapColor(apricorn.mapColor()).randomTicks().strength(Blocks.OAK_LOG.defaultDestroyTime(), Blocks.OAK_LOG.explosionResistance).sound(SoundType.WOOD).noOcclusion(), apricorn))
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.cobblemon.mod.common.api.net.NetworkPacket
|
||||
import com.mojang.brigadier.arguments.ArgumentType
|
||||
import kotlin.reflect.KClass
|
||||
import net.minecraft.commands.synchronization.ArgumentTypeInfo
|
||||
import net.minecraft.core.HolderLookup
|
||||
import net.minecraft.resources.ResourceKey
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.server.MinecraftServer
|
||||
@@ -168,12 +169,16 @@ interface CobblemonImplementation {
|
||||
* TODO
|
||||
*
|
||||
* @param identifier
|
||||
* @param reloader
|
||||
* @param reloaderFactory
|
||||
* @param type
|
||||
* @param dependencies
|
||||
*/
|
||||
fun registerResourceReloader(identifier: ResourceLocation, reloader: PreparableReloadListener, type: PackType, dependencies: Collection<ResourceLocation>)
|
||||
|
||||
fun registerResourceReloader(
|
||||
identifier: ResourceLocation,
|
||||
type: PackType,
|
||||
dependencies: Collection<ResourceLocation>,
|
||||
reloaderFactory: (HolderLookup.Provider) -> PreparableReloadListener
|
||||
)
|
||||
/**
|
||||
* TODO
|
||||
*
|
||||
|
||||
@@ -1517,6 +1517,87 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
|
||||
@JvmField
|
||||
val BLANK_TM = this.create("blank_tm", CobblemonItem(Item.Properties()))
|
||||
|
||||
@JvmField
|
||||
val COPPER_OVEN = this.create("copper_oven", BlockItem(CobblemonBlocks.COPPER_OVEN, Item.Properties()))
|
||||
@JvmField
|
||||
val EXPOSED_COPPER_OVEN = this.create("exposed_copper_oven", BlockItem(CobblemonBlocks.EXPOSED_COPPER_OVEN, Item.Properties()))
|
||||
@JvmField
|
||||
val WEATHERED_COPPER_OVEN = this.create("weathered_copper_oven", BlockItem(CobblemonBlocks.WEATHERED_COPPER_OVEN, Item.Properties()))
|
||||
@JvmField
|
||||
val OXIDIZED_COPPER_OVEN = this.create("oxidized_copper_oven", BlockItem(CobblemonBlocks.OXIDIZED_COPPER_OVEN, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_COPPER_OVEN = this.create("waxed_copper_oven", BlockItem(CobblemonBlocks.WAXED_COPPER_OVEN, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_EXPOSED_COPPER_OVEN = this.create("waxed_exposed_copper_oven", BlockItem(CobblemonBlocks.WAXED_EXPOSED_COPPER_OVEN, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_WEATHERED_COPPER_OVEN = this.create("waxed_weathered_copper_oven", BlockItem(CobblemonBlocks.WAXED_WEATHERED_COPPER_OVEN, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_OXIDIZED_COPPER_OVEN = this.create("waxed_oxidized_copper_oven", BlockItem(CobblemonBlocks.WAXED_OXIDIZED_COPPER_OVEN, Item.Properties()))
|
||||
@JvmField
|
||||
val COPPER_WASHER = this.create("copper_washer", BlockItem(CobblemonBlocks.COPPER_WASHER, Item.Properties()))
|
||||
@JvmField
|
||||
val EXPOSED_COPPER_WASHER = this.create("exposed_copper_washer", BlockItem(CobblemonBlocks.EXPOSED_COPPER_WASHER, Item.Properties()))
|
||||
@JvmField
|
||||
val WEATHERED_COPPER_WASHER = this.create("weathered_copper_washer", BlockItem(CobblemonBlocks.WEATHERED_COPPER_WASHER, Item.Properties()))
|
||||
@JvmField
|
||||
val OXIDIZED_COPPER_WASHER = this.create("oxidized_copper_washer", BlockItem(CobblemonBlocks.OXIDIZED_COPPER_WASHER, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_COPPER_WASHER = this.create("waxed_copper_washer", BlockItem(CobblemonBlocks.WAXED_COPPER_WASHER, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_EXPOSED_COPPER_WASHER = this.create("waxed_exposed_copper_washer", BlockItem(CobblemonBlocks.WAXED_EXPOSED_COPPER_WASHER, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_WEATHERED_COPPER_WASHER = this.create("waxed_weathered_copper_washer", BlockItem(CobblemonBlocks.WAXED_WEATHERED_COPPER_WASHER, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_OXIDIZED_COPPER_WASHER = this.create("waxed_oxidized_copper_washer", BlockItem(CobblemonBlocks.WAXED_OXIDIZED_COPPER_WASHER, Item.Properties()))
|
||||
@JvmField
|
||||
val COPPER_FAN = this.create("copper_fan", BlockItem(CobblemonBlocks.COPPER_FAN, Item.Properties()))
|
||||
@JvmField
|
||||
val EXPOSED_COPPER_FAN = this.create("exposed_copper_fan", BlockItem(CobblemonBlocks.EXPOSED_COPPER_FAN, Item.Properties()))
|
||||
@JvmField
|
||||
val WEATHERED_COPPER_FAN = this.create("weathered_copper_fan", BlockItem(CobblemonBlocks.WEATHERED_COPPER_FAN, Item.Properties()))
|
||||
@JvmField
|
||||
val OXIDIZED_COPPER_FAN = this.create("oxidized_copper_fan", BlockItem(CobblemonBlocks.OXIDIZED_COPPER_FAN, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_COPPER_FAN = this.create("waxed_copper_fan", BlockItem(CobblemonBlocks.WAXED_COPPER_FAN, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_EXPOSED_COPPER_FAN = this.create("waxed_exposed_copper_fan", BlockItem(CobblemonBlocks.WAXED_EXPOSED_COPPER_FAN, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_WEATHERED_COPPER_FAN = this.create("waxed_weathered_copper_fan", BlockItem(CobblemonBlocks.WAXED_WEATHERED_COPPER_FAN, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_OXIDIZED_COPPER_FAN = this.create("waxed_oxidized_copper_fan", BlockItem(CobblemonBlocks.WAXED_OXIDIZED_COPPER_FAN, Item.Properties()))
|
||||
@JvmField
|
||||
val COPPER_MOWER = this.create("copper_mower", BlockItem(CobblemonBlocks.COPPER_MOWER, Item.Properties()))
|
||||
@JvmField
|
||||
val EXPOSED_COPPER_MOWER = this.create("exposed_copper_mower", BlockItem(CobblemonBlocks.EXPOSED_COPPER_MOWER, Item.Properties()))
|
||||
@JvmField
|
||||
val WEATHERED_COPPER_MOWER = this.create("weathered_copper_mower", BlockItem(CobblemonBlocks.WEATHERED_COPPER_MOWER, Item.Properties()))
|
||||
@JvmField
|
||||
val OXIDIZED_COPPER_MOWER = this.create("oxidized_copper_mower", BlockItem(CobblemonBlocks.OXIDIZED_COPPER_MOWER, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_COPPER_MOWER = this.create("waxed_copper_mower", BlockItem(CobblemonBlocks.WAXED_COPPER_MOWER, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_EXPOSED_COPPER_MOWER = this.create("waxed_exposed_copper_mower", BlockItem(CobblemonBlocks.WAXED_EXPOSED_COPPER_MOWER, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_WEATHERED_COPPER_MOWER = this.create("waxed_weathered_copper_mower", BlockItem(CobblemonBlocks.WAXED_WEATHERED_COPPER_MOWER, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_OXIDIZED_COPPER_MOWER = this.create("waxed_oxidized_copper_mower", BlockItem(CobblemonBlocks.WAXED_OXIDIZED_COPPER_MOWER, Item.Properties()))
|
||||
@JvmField
|
||||
val COPPER_FRIDGE = this.create("copper_fridge", BlockItem(CobblemonBlocks.COPPER_FRIDGE, Item.Properties()))
|
||||
@JvmField
|
||||
val EXPOSED_COPPER_FRIDGE = this.create("exposed_copper_fridge", BlockItem(CobblemonBlocks.EXPOSED_COPPER_FRIDGE, Item.Properties()))
|
||||
@JvmField
|
||||
val WEATHERED_COPPER_FRIDGE = this.create("weathered_copper_fridge", BlockItem(CobblemonBlocks.WEATHERED_COPPER_FRIDGE, Item.Properties()))
|
||||
@JvmField
|
||||
val OXIDIZED_COPPER_FRIDGE = this.create("oxidized_copper_fridge", BlockItem(CobblemonBlocks.OXIDIZED_COPPER_FRIDGE, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_COPPER_FRIDGE = this.create("waxed_copper_fridge", BlockItem(CobblemonBlocks.WAXED_COPPER_FRIDGE, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_EXPOSED_COPPER_FRIDGE = this.create("waxed_exposed_copper_fridge", BlockItem(CobblemonBlocks.WAXED_EXPOSED_COPPER_FRIDGE, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_WEATHERED_COPPER_FRIDGE = this.create("waxed_weathered_copper_fridge", BlockItem(CobblemonBlocks.WAXED_WEATHERED_COPPER_FRIDGE, Item.Properties()))
|
||||
@JvmField
|
||||
val WAXED_OXIDIZED_COPPER_FRIDGE = this.create("waxed_oxidized_copper_fridge", BlockItem(CobblemonBlocks.WAXED_OXIDIZED_COPPER_FRIDGE, Item.Properties()))
|
||||
|
||||
// Type Gems
|
||||
@JvmField
|
||||
val NORMAL_GEM = this.create("normal_gem", GemItem(Item.Properties(), CobblemonBlocks.TYPE_GEM_CLUSTER_NORMAL))
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.api.data
|
||||
|
||||
import com.cobblemon.mod.common.util.endsWith
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import net.minecraft.core.HolderLookup
|
||||
import java.io.BufferedReader
|
||||
import java.io.File
|
||||
import java.util.concurrent.ExecutionException
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.server.packs.PackType
|
||||
import net.minecraft.server.packs.resources.ResourceManager
|
||||
|
||||
/**
|
||||
* A [DataRegistry] that consumes JSON files.
|
||||
* Every deserialized instance is attached to an [Identifier].
|
||||
* For example a file under data/mymod/[resourcePath]/entry.json would be backed by the identifier modid:entry.
|
||||
*
|
||||
* @param T The type of the data consumed by this registry.
|
||||
*
|
||||
* @author Licious
|
||||
* @since August 5th, 2022
|
||||
*/
|
||||
interface ServerJsonDataRegistry<T> : DataRegistry {
|
||||
|
||||
/**
|
||||
* The [TypeToken] of type [T].
|
||||
*/
|
||||
val typeToken: TypeToken<T>
|
||||
|
||||
/**
|
||||
* The folder location for the data this registry will consume.
|
||||
*/
|
||||
val resourcePath: String
|
||||
|
||||
override val type: PackType
|
||||
get() = PackType.SERVER_DATA
|
||||
|
||||
override fun reload(manager: ResourceManager) {
|
||||
//NO-OP, handled by reload(manager, registry)
|
||||
}
|
||||
|
||||
fun reload(manager: ResourceManager, registry: HolderLookup.Provider) {
|
||||
val gson = setupParser(registry)
|
||||
val data = hashMapOf<ResourceLocation, T>()
|
||||
manager.listResources(resourcePath) { path -> path.endsWith(JSON_EXTENSION) }.forEach { (identifier, resource) ->
|
||||
if (identifier.namespace == "pixelmon") {
|
||||
return@forEach
|
||||
}
|
||||
|
||||
resource.open().use { stream ->
|
||||
stream.bufferedReader().use { reader ->
|
||||
val resolvedIdentifier = ResourceLocation.fromNamespaceAndPath(identifier.namespace, File(identifier.path).nameWithoutExtension)
|
||||
data[resolvedIdentifier] = parse(reader, resolvedIdentifier, gson)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
reload(data, registry)
|
||||
}
|
||||
|
||||
fun parse(reader: BufferedReader, identifier: ResourceLocation, gson: Gson): T {
|
||||
return try {
|
||||
gson.fromJson(reader, typeToken.type)
|
||||
} catch (exception: Exception) {
|
||||
throw ExecutionException("Error loading JSON for data: $identifier", exception)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Allows the creation of [Gson] instances which have adapters that are registry-aware, e.g. [com.cobblemon.mod.common.pokemon.evolution.adapters.LegacyItemConditionWrapperAdapter]
|
||||
*/
|
||||
fun setupParser(registry: HolderLookup.Provider): Gson
|
||||
|
||||
/**
|
||||
* Reloads this registry from the deserialized data.
|
||||
*
|
||||
* @param data A map of the data associating an instance to the respective identifier from the [ResourceManager].
|
||||
*/
|
||||
fun reload(data: Map<ResourceLocation, T>, registry: HolderLookup.Provider)
|
||||
|
||||
companion object {
|
||||
const val JSON_EXTENSION = ".json"
|
||||
}
|
||||
}
|
||||
@@ -40,7 +40,7 @@ object Fossils: JsonDataRegistry<Fossil> {
|
||||
.registerTypeAdapter(ResourceLocation::class.java, IdentifierAdapter)
|
||||
.registerTypeAdapter(PokemonProperties::class.java, pokemonPropertiesShortAdapter)
|
||||
.registerTypeAdapter(TypeToken.getParameterized(RegistryLikeCondition::class.java, Item::class.java).type, ItemLikeConditionAdapter)
|
||||
.registerTypeAdapter(ItemPredicate::class.java, LegacyItemConditionWrapperAdapter)
|
||||
.registerTypeAdapter(ItemPredicate::class.java, LegacyItemConditionWrapperAdapter())
|
||||
.create()
|
||||
|
||||
override val typeToken: TypeToken<Fossil> = TypeToken.get(Fossil::class.java)
|
||||
|
||||
+24
-20
@@ -10,7 +10,7 @@ package com.cobblemon.mod.common.api.interaction
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.api.conditional.RegistryLikeCondition
|
||||
import com.cobblemon.mod.common.api.data.JsonDataRegistry
|
||||
import com.cobblemon.mod.common.api.data.ServerJsonDataRegistry
|
||||
import com.cobblemon.mod.common.api.molang.ExpressionLike
|
||||
import com.cobblemon.mod.common.api.pokemon.PokemonProperties
|
||||
import com.cobblemon.mod.common.api.pokemon.requirement.Requirement
|
||||
@@ -26,6 +26,7 @@ import com.google.gson.Gson
|
||||
import com.google.gson.GsonBuilder
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import net.minecraft.advancements.critereon.ItemPredicate
|
||||
import net.minecraft.core.HolderLookup
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.server.packs.PackType
|
||||
@@ -36,28 +37,31 @@ import net.minecraft.world.level.block.Block
|
||||
import net.minecraft.world.level.levelgen.structure.Structure
|
||||
import net.minecraft.world.level.material.Fluid
|
||||
|
||||
object PokemonInteractions : JsonDataRegistry<PokemonInteractionSet> {
|
||||
object PokemonInteractions : ServerJsonDataRegistry<PokemonInteractionSet> {
|
||||
override val id = cobblemonResource("pokemon_interactions")
|
||||
override val type = PackType.SERVER_DATA
|
||||
override fun setupParser(registry: HolderLookup.Provider): Gson {
|
||||
return GsonBuilder()
|
||||
.registerTypeAdapter(ResourceLocation::class.java, IdentifierAdapter)
|
||||
.registerTypeAdapter(PokemonProperties::class.java, pokemonPropertiesShortAdapter)
|
||||
.registerTypeAdapter(ItemPredicate::class.java, LegacyItemConditionWrapperAdapter(registry))
|
||||
.registerTypeAdapter(Requirement::class.java, CobblemonRequirementAdapter)
|
||||
.registerTypeAdapter(InteractionEffect::class.java, InteractionEffectAdapter)
|
||||
.registerTypeAdapter(ExpressionLike::class.java, ExpressionLikeAdapter)
|
||||
.registerTypeAdapter(TypeToken.getParameterized(RegistryLikeCondition::class.java, Biome::class.java).type, BiomeLikeConditionAdapter)
|
||||
.registerTypeAdapter(TypeToken.getParameterized(RegistryLikeCondition::class.java, Block::class.java).type, BlockLikeConditionAdapter)
|
||||
.registerTypeAdapter(TypeToken.getParameterized(RegistryLikeCondition::class.java, Item::class.java).type, ItemLikeConditionAdapter)
|
||||
.registerTypeAdapter(TypeToken.getParameterized(RegistryLikeCondition::class.java, Structure::class.java).type, StructureLikeConditionAdapter)
|
||||
.registerTypeAdapter(TypeToken.getParameterized(RegistryLikeCondition::class.java, Fluid::class.java).type, FluidLikeConditionAdapter)
|
||||
.registerTypeAdapter(IntRange::class.java, IntRangeAdapter)
|
||||
.registerTypeAdapterFactory(LowerCaseEnumTypeAdapterFactory())
|
||||
.setPrettyPrinting()
|
||||
.create()
|
||||
}
|
||||
|
||||
override val observable = SimpleObservable<PokemonInteractions>()
|
||||
override val typeToken: TypeToken<PokemonInteractionSet> = TypeToken.get(PokemonInteractionSet::class.java)
|
||||
override val resourcePath = "pokemon_interactions"
|
||||
override val gson: Gson = GsonBuilder()
|
||||
.registerTypeAdapter(ResourceLocation::class.java, IdentifierAdapter)
|
||||
.registerTypeAdapter(PokemonProperties::class.java, pokemonPropertiesShortAdapter)
|
||||
.registerTypeAdapter(ItemPredicate::class.java, LegacyItemConditionWrapperAdapter)
|
||||
.registerTypeAdapter(Requirement::class.java, CobblemonRequirementAdapter)
|
||||
.registerTypeAdapter(InteractionEffect::class.java, InteractionEffectAdapter)
|
||||
.registerTypeAdapter(ExpressionLike::class.java, ExpressionLikeAdapter)
|
||||
.registerTypeAdapter(TypeToken.getParameterized(RegistryLikeCondition::class.java, Biome::class.java).type, BiomeLikeConditionAdapter)
|
||||
.registerTypeAdapter(TypeToken.getParameterized(RegistryLikeCondition::class.java, Block::class.java).type, BlockLikeConditionAdapter)
|
||||
.registerTypeAdapter(TypeToken.getParameterized(RegistryLikeCondition::class.java, Item::class.java).type, ItemLikeConditionAdapter)
|
||||
.registerTypeAdapter(TypeToken.getParameterized(RegistryLikeCondition::class.java, Structure::class.java).type, StructureLikeConditionAdapter)
|
||||
.registerTypeAdapter(TypeToken.getParameterized(RegistryLikeCondition::class.java, Fluid::class.java).type, FluidLikeConditionAdapter)
|
||||
.registerTypeAdapter(IntRange::class.java, IntRangeAdapter)
|
||||
.registerTypeAdapterFactory(LowerCaseEnumTypeAdapterFactory())
|
||||
.setPrettyPrinting()
|
||||
.create()
|
||||
|
||||
val interactions = mutableListOf<PokemonInteractionSet>()
|
||||
|
||||
@@ -65,7 +69,7 @@ object PokemonInteractions : JsonDataRegistry<PokemonInteractionSet> {
|
||||
PokemonInteractionsSyncPacket(interactions).sendToPlayer(player)
|
||||
}
|
||||
|
||||
override fun reload(data: Map<ResourceLocation, PokemonInteractionSet>) {
|
||||
override fun reload(data: Map<ResourceLocation, PokemonInteractionSet>, registry: HolderLookup.Provider) {
|
||||
interactions.clear()
|
||||
val split = data.entries
|
||||
.partition {
|
||||
@@ -87,4 +91,4 @@ object PokemonInteractions : JsonDataRegistry<PokemonInteractionSet> {
|
||||
.flatMap { it.interactions }
|
||||
.firstOrNull(interactionCheck)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ object PokemonSpecies : JsonDataRegistry<Species> {
|
||||
.registerTypeAdapter(TypeToken.getParameterized(RegistryLikeCondition::class.java, Fluid::class.java).type, FluidLikeConditionAdapter)
|
||||
.registerTypeAdapter(EggGroup::class.java, EggGroupAdapter)
|
||||
.registerTypeAdapter(MobEffect::class.java, RegistryElementAdapter<MobEffect>(BuiltInRegistries::MOB_EFFECT))
|
||||
.registerTypeAdapter(ItemPredicate::class.java, LegacyItemConditionWrapperAdapter)
|
||||
.registerTypeAdapter(ItemPredicate::class.java, LegacyItemConditionWrapperAdapter())
|
||||
.registerTypeAdapter(RidingBehaviourSettings::class.java, RidingBehaviourSettingsAdapter)
|
||||
.registerTypeAdapter(RideSoundSettingsList::class.java, RideSoundSettingsListAdapter)
|
||||
.registerTypeAdapter(ObtainableItemCondition::class.java, ObtainableItemConditionAdapter)
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import com.cobblemon.mod.common.util.rotateShape
|
||||
import com.mojang.serialization.MapCodec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.core.Direction
|
||||
import net.minecraft.world.item.context.BlockPlaceContext
|
||||
import net.minecraft.world.level.BlockGetter
|
||||
import net.minecraft.world.level.LevelAccessor
|
||||
import net.minecraft.world.level.block.*
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import net.minecraft.world.level.block.state.StateDefinition
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties.HORIZONTAL_FACING
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
|
||||
import net.minecraft.world.level.block.state.properties.BooleanProperty
|
||||
import net.minecraft.world.level.material.FluidState
|
||||
import net.minecraft.world.level.material.Fluids
|
||||
import net.minecraft.world.phys.shapes.CollisionContext
|
||||
import net.minecraft.world.phys.shapes.Shapes
|
||||
import net.minecraft.world.phys.shapes.VoxelShape
|
||||
//TODO: All the Fan appliance stuff
|
||||
//TODO: Able to place the Fan on Walls, models and hitbox are there (blockstate would need edits to support it)
|
||||
open class CopperFanBlock(settings: Properties) : HorizontalDirectionalBlock(settings), SimpleWaterloggedBlock {
|
||||
|
||||
companion object {
|
||||
val CODEC: MapCodec<CopperFanBlock> = RecordCodecBuilder.mapCodec {
|
||||
it.group(propertiesCodec()).apply(it, ::CopperFanBlock) }
|
||||
//val FACE = //TODO: Floor/Wall
|
||||
val POWER = BlockStateProperties.POWER;
|
||||
val PUSH = BooleanProperty.create("push")
|
||||
|
||||
val FLOOR_HITBOX = Shapes.or(
|
||||
Shapes.box(0.0625, 0.125, 0.4375, 0.9375, 1.0, 0.5625),
|
||||
Shapes.box(0.375, 0.0, 0.375, 0.625, 0.125, 0.625))
|
||||
val WALL_HITBOX = Shapes.box(0.0625, 0.0625, 0.875, 0.9375, 0.9375, 1.0)
|
||||
}
|
||||
|
||||
init {
|
||||
registerDefaultState(stateDefinition.any()
|
||||
.setValue(HORIZONTAL_FACING, Direction.NORTH)
|
||||
.setValue(WATERLOGGED, false)
|
||||
//.setValue(FACE, AttachFace.FLOOR)
|
||||
.setValue(POWER, 0)
|
||||
.setValue(PUSH, true) //If True, fan pushes entities, If False, fan is cosmetic only
|
||||
)
|
||||
}
|
||||
|
||||
override fun codec(): MapCodec<CopperFanBlock> = CODEC
|
||||
|
||||
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
|
||||
builder.add(HORIZONTAL_FACING, WATERLOGGED, /*FACE,*/ POWER, PUSH)
|
||||
}
|
||||
|
||||
override fun getFluidState(blockState: BlockState): FluidState? = if (blockState.getValue(WATERLOGGED)) Fluids.WATER.getSource(false) else super.getFluidState(blockState)
|
||||
|
||||
override fun updateShape(state: BlockState, direction: Direction, neighborState: BlockState, world: LevelAccessor, pos: BlockPos, neighborPos: BlockPos): BlockState {
|
||||
if (state.getValue(WATERLOGGED)) {
|
||||
world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world))
|
||||
}
|
||||
return if (state.getValue(HORIZONTAL_FACING).opposite == direction && !state.canSurvive(world, pos)) Blocks.AIR.defaultBlockState()
|
||||
else super.updateShape(state, direction, neighborState, world, pos, neighborPos)
|
||||
}
|
||||
|
||||
override fun getCollisionShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
|
||||
val direction = state.getValue(HORIZONTAL_FACING)
|
||||
return rotateShape(Direction.NORTH, direction, FLOOR_HITBOX)
|
||||
}
|
||||
|
||||
override fun getShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
|
||||
return getCollisionShape(state, level, pos, context)
|
||||
}
|
||||
|
||||
override fun getStateForPlacement(context: BlockPlaceContext): BlockState? {
|
||||
val fluidState = context.level.getFluidState(context.clickedPos)
|
||||
return super.getStateForPlacement(context)?.setValue(HORIZONTAL_FACING, context.horizontalDirection.opposite)?.setValue(WATERLOGGED, fluidState.type === Fluids.WATER)
|
||||
}
|
||||
}
|
||||
+153
@@ -0,0 +1,153 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import com.cobblemon.mod.common.util.rotateShape
|
||||
import com.mojang.serialization.MapCodec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.core.Direction
|
||||
import net.minecraft.util.StringRepresentable
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.player.Player
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.context.BlockPlaceContext
|
||||
import net.minecraft.world.level.BlockGetter
|
||||
import net.minecraft.world.level.Level
|
||||
import net.minecraft.world.level.LevelAccessor
|
||||
import net.minecraft.world.level.LevelReader
|
||||
import net.minecraft.world.level.block.*
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import net.minecraft.world.level.block.state.StateDefinition
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties.HORIZONTAL_FACING
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
|
||||
import net.minecraft.world.level.block.state.properties.BooleanProperty
|
||||
import net.minecraft.world.level.block.state.properties.DoubleBlockHalf
|
||||
import net.minecraft.world.level.block.state.properties.EnumProperty
|
||||
import net.minecraft.world.level.material.FluidState
|
||||
import net.minecraft.world.level.material.Fluids
|
||||
import net.minecraft.world.phys.shapes.CollisionContext
|
||||
import net.minecraft.world.phys.shapes.Shapes
|
||||
import net.minecraft.world.phys.shapes.VoxelShape
|
||||
//TODO: Oxidation/Waxing/Scraping not breaking the blocks
|
||||
//TODO: All the Fridge appliance stuff
|
||||
open class CopperFridgeBlock(settings: Properties) : HorizontalDirectionalBlock(settings), SimpleWaterloggedBlock {
|
||||
|
||||
companion object {
|
||||
val CODEC: MapCodec<CopperFridgeBlock> = RecordCodecBuilder.mapCodec {
|
||||
it.group(propertiesCodec()).apply(it, ::CopperFridgeBlock) }
|
||||
val HALF: EnumProperty<DoubleBlockHalf> = BlockStateProperties.DOUBLE_BLOCK_HALF
|
||||
val POWERED = BooleanProperty.create("powered")
|
||||
|
||||
val LOWER_HITBOX = Shapes.or(
|
||||
Shapes.box(0.0625, 0.0, 0.125, 0.9375, 0.0625, 0.9375),
|
||||
Shapes.box(0.0, 0.0625, 0.0625, 1.0, 1.0, 1.0))
|
||||
val UPPER_HITBOX = Shapes.or(
|
||||
Shapes.box(0.0, 0.0, 0.0625, 1.0, 1.0, 1.0),
|
||||
Shapes.box(0.25, 0.125, 0.0, 0.375, 0.3125, 0.0625),
|
||||
Shapes.box(0.625, 0.125, 0.0, 0.75, 0.3125, 0.0625))
|
||||
val UPPER_COLLISSIONBOX = Shapes.box(0.0, 0.0, 0.0625, 1.0, 1.0, 1.0)
|
||||
//The handles get ignored by entity collission, because it feels nicer, but still count as part of the hitbox
|
||||
}
|
||||
|
||||
init {
|
||||
registerDefaultState(stateDefinition.any()
|
||||
.setValue(HORIZONTAL_FACING, Direction.NORTH)
|
||||
.setValue(HALF, DoubleBlockHalf.LOWER)
|
||||
.setValue(WATERLOGGED, false)
|
||||
.setValue(POWERED, false)
|
||||
)
|
||||
}
|
||||
|
||||
override fun codec(): MapCodec<CopperFridgeBlock> = CODEC
|
||||
|
||||
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
|
||||
builder.add(HORIZONTAL_FACING, HALF, WATERLOGGED, POWERED)
|
||||
}
|
||||
|
||||
override fun getFluidState(blockState: BlockState): FluidState? = if (blockState.getValue(WATERLOGGED)) Fluids.WATER.getSource(false) else super.getFluidState(blockState)
|
||||
|
||||
override fun updateShape(state: BlockState, direction: Direction, neighborState: BlockState, world: LevelAccessor, pos: BlockPos, neighborPos: BlockPos): BlockState {
|
||||
if (state.getValue(WATERLOGGED)) {
|
||||
world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world))
|
||||
}
|
||||
|
||||
val isFridge = neighborState.`is`(this)
|
||||
val half = state.getValue(HALF)
|
||||
if (!isFridge && half == DoubleBlockHalf.UPPER && neighborPos == pos.below()) {
|
||||
return Blocks.AIR.defaultBlockState()
|
||||
} else if (!isFridge && half == DoubleBlockHalf.LOWER && neighborPos == pos.above()) {
|
||||
return Blocks.AIR.defaultBlockState()
|
||||
}
|
||||
return state
|
||||
}
|
||||
|
||||
override fun getCollisionShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
|
||||
val direction = state.getValue(HORIZONTAL_FACING)
|
||||
return if (state.getValue(HALF) == DoubleBlockHalf.LOWER) {
|
||||
rotateShape(Direction.NORTH, direction, LOWER_HITBOX)
|
||||
} else {
|
||||
rotateShape(Direction.NORTH, direction, UPPER_COLLISSIONBOX)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
|
||||
val direction = state.getValue(HORIZONTAL_FACING)
|
||||
return if (state.getValue(HALF) == DoubleBlockHalf.LOWER) {
|
||||
rotateShape(Direction.NORTH, direction, LOWER_HITBOX)
|
||||
} else {
|
||||
rotateShape(Direction.NORTH, direction, UPPER_HITBOX)
|
||||
}
|
||||
}
|
||||
|
||||
override fun setPlacedBy(world: Level, pos: BlockPos, state: BlockState, placer: LivingEntity?, itemStack: ItemStack) {
|
||||
world.setBlock(pos.above(),
|
||||
state
|
||||
.setValue(HALF, DoubleBlockHalf.UPPER)
|
||||
.setValue(WATERLOGGED, world.getFluidState((pos.above())).type == Fluids.WATER)
|
||||
, 3)
|
||||
world.blockUpdated(pos, Blocks.AIR)
|
||||
state.updateNeighbourShapes(world, pos, 3)
|
||||
}
|
||||
|
||||
override fun getStateForPlacement(blockPlaceContext: BlockPlaceContext): BlockState? {
|
||||
val abovePosition = blockPlaceContext.clickedPos.above()
|
||||
val world = blockPlaceContext.level
|
||||
if (world.getBlockState(abovePosition).canBeReplaced(blockPlaceContext) && !world.isOutsideBuildHeight(abovePosition)) {
|
||||
return defaultBlockState()
|
||||
.setValue(FACING, blockPlaceContext.horizontalDirection.opposite)
|
||||
.setValue(HALF, DoubleBlockHalf.LOWER)
|
||||
.setValue(WATERLOGGED, blockPlaceContext.level.getFluidState(blockPlaceContext.clickedPos).type == Fluids.WATER)
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
override fun canSurvive(state: BlockState, world: LevelReader, pos: BlockPos): Boolean {
|
||||
val blockPos = pos.below()
|
||||
val blockState = world.getBlockState(blockPos)
|
||||
return if (state.getValue(HALF) == DoubleBlockHalf.LOWER) blockState.isFaceSturdy(world, blockPos, Direction.UP) else blockState.`is`(this)
|
||||
}
|
||||
|
||||
override fun playerWillDestroy(world: Level, pos: BlockPos, state: BlockState, player: Player): BlockState {
|
||||
if (!world.isClientSide && player.isCreative) {
|
||||
var blockPos: BlockPos = BlockPos.ZERO
|
||||
var blockState: BlockState = state
|
||||
val half = state.getValue(HALF)
|
||||
if (half == DoubleBlockHalf.UPPER && world.getBlockState(pos.below().also { blockPos = it }).also { blockState = it }.`is`(state.block) && blockState.getValue(
|
||||
HALF
|
||||
) == DoubleBlockHalf.LOWER) {
|
||||
val blockState2 = if (blockState.fluidState.`is`(Fluids.WATER)) Blocks.WATER.defaultBlockState() else Blocks.AIR.defaultBlockState()
|
||||
world.setBlock(blockPos, blockState2, UPDATE_ALL or UPDATE_SUPPRESS_DROPS)
|
||||
world.levelEvent(player, LevelEvent.PARTICLES_DESTROY_BLOCK, blockPos, getId(blockState))
|
||||
}
|
||||
}
|
||||
return super.playerWillDestroy(world, pos, state, player)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import com.cobblemon.mod.common.util.rotateShape
|
||||
import com.mojang.serialization.MapCodec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.core.Direction
|
||||
import net.minecraft.world.item.context.BlockPlaceContext
|
||||
import net.minecraft.world.level.BlockGetter
|
||||
import net.minecraft.world.level.LevelAccessor
|
||||
import net.minecraft.world.level.block.*
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import net.minecraft.world.level.block.state.StateDefinition
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties.HORIZONTAL_FACING
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
|
||||
import net.minecraft.world.level.block.state.properties.BooleanProperty
|
||||
import net.minecraft.world.level.material.FluidState
|
||||
import net.minecraft.world.level.material.Fluids
|
||||
import net.minecraft.world.phys.shapes.CollisionContext
|
||||
import net.minecraft.world.phys.shapes.Shapes
|
||||
import net.minecraft.world.phys.shapes.VoxelShape
|
||||
//TODO: All the Mower appliance stuff
|
||||
open class CopperMowerBlock(settings: Properties) : HorizontalDirectionalBlock(settings), SimpleWaterloggedBlock {
|
||||
|
||||
companion object {
|
||||
val CODEC: MapCodec<CopperMowerBlock> = RecordCodecBuilder.mapCodec {
|
||||
it.group(propertiesCodec()).apply(it, ::CopperMowerBlock) }
|
||||
val TRIGGERED = BooleanProperty.create("triggered")
|
||||
|
||||
val COLLISIONBOX = Shapes.or(
|
||||
Shapes.box(0.1875, 0.0, 0.0, 0.8125, 0.375, 0.625),
|
||||
Shapes.box(0.0625, 0.0, 0.625, 0.9375, 0.625, 1.0),
|
||||
Shapes.box(0.125, 0.0, 0.1875, 0.875, 0.3125, 0.5),
|
||||
//The next three lines are just so the handle does have collision, it feels awkward without it but it looks bad as hitbox
|
||||
Shapes.box(0.375, 0.375, 0.375, 0.625, 0.625, 0.5625),
|
||||
Shapes.box(0.4375, 0.5625, 0.5, 0.5625, 0.875, 0.625),
|
||||
Shapes.box(0.25, 0.875, 0.5625, 0.75, 1.0, 0.6875)
|
||||
)
|
||||
val HITBOX = Shapes.or(
|
||||
Shapes.box(0.1875, 0.0, 0.0, 0.8125, 0.375, 0.625),
|
||||
Shapes.box(0.0625, 0.0, 0.625, 0.9375, 0.625, 1.0),
|
||||
Shapes.box(0.125, 0.0, 0.1875, 0.875, 0.3125, 0.5)
|
||||
)
|
||||
}
|
||||
|
||||
init {
|
||||
registerDefaultState(stateDefinition.any()
|
||||
.setValue(HORIZONTAL_FACING, Direction.NORTH)
|
||||
.setValue(WATERLOGGED, false)
|
||||
.setValue(TRIGGERED, false)
|
||||
)
|
||||
}
|
||||
|
||||
override fun codec(): MapCodec<CopperMowerBlock> = CODEC
|
||||
|
||||
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
|
||||
builder.add(HORIZONTAL_FACING, WATERLOGGED, TRIGGERED)
|
||||
}
|
||||
|
||||
override fun getFluidState(blockState: BlockState): FluidState? = if (blockState.getValue(WATERLOGGED)) Fluids.WATER.getSource(false) else super.getFluidState(blockState)
|
||||
|
||||
override fun updateShape(state: BlockState, direction: Direction, neighborState: BlockState, world: LevelAccessor, pos: BlockPos, neighborPos: BlockPos): BlockState {
|
||||
if (state.getValue(WATERLOGGED)) {
|
||||
world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world))
|
||||
}
|
||||
return if (state.getValue(HORIZONTAL_FACING).opposite == direction && !state.canSurvive(world, pos)) Blocks.AIR.defaultBlockState()
|
||||
else super.updateShape(state, direction, neighborState, world, pos, neighborPos)
|
||||
}
|
||||
|
||||
override fun getCollisionShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
|
||||
val direction = state.getValue(HORIZONTAL_FACING)
|
||||
return rotateShape(Direction.NORTH, direction, COLLISIONBOX)
|
||||
}
|
||||
|
||||
override fun getShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
|
||||
val direction = state.getValue(HORIZONTAL_FACING)
|
||||
return rotateShape(Direction.NORTH, direction, HITBOX)
|
||||
}
|
||||
|
||||
override fun getStateForPlacement(context: BlockPlaceContext): BlockState? {
|
||||
val fluidState = context.level.getFluidState(context.clickedPos)
|
||||
return super.getStateForPlacement(context)?.setValue(HORIZONTAL_FACING, context.horizontalDirection)?.setValue(WATERLOGGED, fluidState.type === Fluids.WATER)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import com.cobblemon.mod.common.util.rotateShape
|
||||
import com.mojang.serialization.MapCodec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.core.Direction
|
||||
import net.minecraft.util.StringRepresentable
|
||||
import net.minecraft.world.item.context.BlockPlaceContext
|
||||
import net.minecraft.world.level.BlockGetter
|
||||
import net.minecraft.world.level.LevelAccessor
|
||||
import net.minecraft.world.level.block.*
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import net.minecraft.world.level.block.state.StateDefinition
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties.HORIZONTAL_FACING
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
|
||||
import net.minecraft.world.level.block.state.properties.BooleanProperty
|
||||
import net.minecraft.world.level.block.state.properties.EnumProperty
|
||||
import net.minecraft.world.level.material.FluidState
|
||||
import net.minecraft.world.level.material.Fluids
|
||||
import net.minecraft.world.phys.shapes.CollisionContext
|
||||
import net.minecraft.world.phys.shapes.Shapes
|
||||
import net.minecraft.world.phys.shapes.VoxelShape
|
||||
//TODO: All the Oven appliance stuff - Good Luck Coders
|
||||
open class CopperOvenBlock(settings: Properties) : HorizontalDirectionalBlock(settings), SimpleWaterloggedBlock {
|
||||
|
||||
companion object {
|
||||
val CODEC: MapCodec<CopperOvenBlock> = RecordCodecBuilder.mapCodec {
|
||||
it.group(propertiesCodec()).apply(it, ::CopperOvenBlock) }
|
||||
val EJECTING = BooleanProperty.create("ejecting")
|
||||
val COOKING = EnumProperty.create("cooking", CookingState::class.java)
|
||||
|
||||
val HITBOX = Shapes.box(0.0625, 0.0, 0.3125, 0.9375, 0.625, 0.9375)
|
||||
}
|
||||
|
||||
init {
|
||||
registerDefaultState(stateDefinition.any()
|
||||
.setValue(HORIZONTAL_FACING, Direction.NORTH)
|
||||
.setValue(WATERLOGGED, false)
|
||||
.setValue(COOKING, CookingState.CLOSED)
|
||||
.setValue(EJECTING, false)
|
||||
)
|
||||
}
|
||||
enum class CookingState : StringRepresentable {
|
||||
CLOSED, //Door is closed
|
||||
OPEN, //Door is open
|
||||
COOKING; //Door is locked closed and the light level is cranked up, as long as the block is powered by redstone. Acts as closed lid in the original Campfire Pot
|
||||
override fun getSerializedName(): String = this.name.lowercase()
|
||||
}
|
||||
|
||||
override fun codec(): MapCodec<CopperOvenBlock> = CODEC
|
||||
|
||||
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
|
||||
builder.add(HORIZONTAL_FACING, WATERLOGGED, COOKING, EJECTING)
|
||||
}
|
||||
|
||||
override fun getFluidState(blockState: BlockState): FluidState? = if (blockState.getValue(WATERLOGGED)) Fluids.WATER.getSource(false) else super.getFluidState(blockState)
|
||||
|
||||
override fun updateShape(state: BlockState, direction: Direction, neighborState: BlockState, world: LevelAccessor, pos: BlockPos, neighborPos: BlockPos): BlockState {
|
||||
if (state.getValue(WATERLOGGED)) {
|
||||
world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world))
|
||||
}
|
||||
return if (state.getValue(HORIZONTAL_FACING).opposite == direction && !state.canSurvive(world, pos)) Blocks.AIR.defaultBlockState()
|
||||
else super.updateShape(state, direction, neighborState, world, pos, neighborPos)
|
||||
}
|
||||
|
||||
override fun getCollisionShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
|
||||
val direction = state.getValue(HORIZONTAL_FACING)
|
||||
return rotateShape(Direction.NORTH, direction, HITBOX)
|
||||
}
|
||||
|
||||
override fun getShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
|
||||
return getCollisionShape(state, level, pos, context).singleEncompassing()
|
||||
}
|
||||
|
||||
override fun getStateForPlacement(context: BlockPlaceContext): BlockState? {
|
||||
val fluidState = context.level.getFluidState(context.clickedPos)
|
||||
return super.getStateForPlacement(context)?.setValue(HORIZONTAL_FACING, context.horizontalDirection.opposite)?.setValue(WATERLOGGED, fluidState.type === Fluids.WATER)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import com.cobblemon.mod.common.util.rotateShape
|
||||
import com.mojang.serialization.MapCodec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.core.Direction
|
||||
import net.minecraft.world.item.context.BlockPlaceContext
|
||||
import net.minecraft.world.level.BlockGetter
|
||||
import net.minecraft.world.level.LevelAccessor
|
||||
import net.minecraft.world.level.block.*
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import net.minecraft.world.level.block.state.StateDefinition
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties.HORIZONTAL_FACING
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
|
||||
import net.minecraft.world.level.block.state.properties.BooleanProperty
|
||||
import net.minecraft.world.level.material.FluidState
|
||||
import net.minecraft.world.level.material.Fluids
|
||||
import net.minecraft.world.phys.shapes.CollisionContext
|
||||
import net.minecraft.world.phys.shapes.Shapes
|
||||
import net.minecraft.world.phys.shapes.VoxelShape
|
||||
|
||||
open class CopperWasherBlock(settings: Properties) : HorizontalDirectionalBlock(settings), SimpleWaterloggedBlock {
|
||||
|
||||
companion object {
|
||||
val CODEC: MapCodec<CopperWasherBlock> = RecordCodecBuilder.mapCodec {
|
||||
it.group(propertiesCodec()).apply(it, ::CopperWasherBlock) }
|
||||
val POWERED = BooleanProperty.create("powered")
|
||||
|
||||
val HITBOX = Shapes.box(0.0625, 0.0, 0.125, 0.9375, 1.0, 1.0)
|
||||
}
|
||||
|
||||
init {
|
||||
registerDefaultState(stateDefinition.any()
|
||||
.setValue(HORIZONTAL_FACING, Direction.NORTH)
|
||||
.setValue(WATERLOGGED, false)
|
||||
.setValue(POWERED, false)
|
||||
)
|
||||
}
|
||||
|
||||
override fun codec(): MapCodec<CopperWasherBlock> = CODEC
|
||||
|
||||
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
|
||||
builder.add(HORIZONTAL_FACING, WATERLOGGED, POWERED)
|
||||
}
|
||||
|
||||
override fun getFluidState(blockState: BlockState): FluidState? = if (blockState.getValue(WATERLOGGED)) Fluids.WATER.getSource(false) else super.getFluidState(blockState)
|
||||
|
||||
override fun updateShape(state: BlockState, direction: Direction, neighborState: BlockState, world: LevelAccessor, pos: BlockPos, neighborPos: BlockPos): BlockState {
|
||||
if (state.getValue(WATERLOGGED)) {
|
||||
world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world))
|
||||
}
|
||||
return if (state.getValue(HORIZONTAL_FACING).opposite == direction && !state.canSurvive(world, pos)) Blocks.AIR.defaultBlockState()
|
||||
else super.updateShape(state, direction, neighborState, world, pos, neighborPos)
|
||||
}
|
||||
|
||||
override fun getCollisionShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
|
||||
val direction = state.getValue(HORIZONTAL_FACING)
|
||||
return rotateShape(Direction.NORTH, direction, HITBOX)
|
||||
}
|
||||
|
||||
override fun getShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
|
||||
return getCollisionShape(state, level, pos, context).singleEncompassing()
|
||||
}
|
||||
|
||||
override fun getStateForPlacement(context: BlockPlaceContext): BlockState? {
|
||||
val fluidState = context.level.getFluidState(context.clickedPos)
|
||||
return super.getStateForPlacement(context)?.setValue(HORIZONTAL_FACING, context.horizontalDirection.opposite)?.setValue(WATERLOGGED, fluidState.type === Fluids.WATER)
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.util.RandomSource
|
||||
import net.minecraft.world.level.block.WeatheringCopper
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
|
||||
class WeatheringCopperFanBlock(val weatherState: WeatheringCopper.WeatherState, properties: Properties) :
|
||||
CopperFanBlock(properties), WeatheringCopper {
|
||||
|
||||
override fun randomTick(state: BlockState?, level: ServerLevel?, pos: BlockPos?, random: RandomSource?) {
|
||||
this.changeOverTime(state, level, pos, random)
|
||||
}
|
||||
|
||||
override fun isRandomlyTicking(state: BlockState): Boolean {
|
||||
return WeatheringCopper.getNext(state.getBlock()).isPresent()
|
||||
}
|
||||
|
||||
override fun getAge(): WeatheringCopper.WeatherState {
|
||||
return this.weatherState
|
||||
}
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.util.RandomSource
|
||||
import net.minecraft.world.level.block.WeatheringCopper
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import net.minecraft.world.level.block.state.properties.DoubleBlockHalf
|
||||
|
||||
class WeatheringCopperFridgeBlock(val weatherState: WeatheringCopper.WeatherState, properties: Properties) :
|
||||
CopperFridgeBlock(properties), WeatheringCopper {
|
||||
|
||||
override fun randomTick(state: BlockState, level: ServerLevel?, pos: BlockPos?, random: RandomSource?) {
|
||||
if (state.getValue(HALF) == DoubleBlockHalf.LOWER) {
|
||||
this.changeOverTime(state, level, pos, random)
|
||||
}
|
||||
}
|
||||
|
||||
override fun isRandomlyTicking(state: BlockState): Boolean {
|
||||
return WeatheringCopper.getNext(state.getBlock()).isPresent()
|
||||
}
|
||||
|
||||
override fun getAge(): WeatheringCopper.WeatherState {
|
||||
return this.weatherState
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.util.RandomSource
|
||||
import net.minecraft.world.level.block.WeatheringCopper
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
|
||||
class WeatheringCopperMowerBlock(val weatherState: WeatheringCopper.WeatherState, properties: Properties) :
|
||||
CopperMowerBlock(properties), WeatheringCopper {
|
||||
|
||||
override fun randomTick(state: BlockState?, level: ServerLevel?, pos: BlockPos?, random: RandomSource?) {
|
||||
this.changeOverTime(state, level, pos, random)
|
||||
}
|
||||
|
||||
override fun isRandomlyTicking(state: BlockState): Boolean {
|
||||
return WeatheringCopper.getNext(state.getBlock()).isPresent()
|
||||
}
|
||||
|
||||
override fun getAge(): WeatheringCopper.WeatherState {
|
||||
return this.weatherState
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.util.RandomSource
|
||||
import net.minecraft.world.level.block.WeatheringCopper
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
|
||||
class WeatheringCopperOvenBlock(val weatherState: WeatheringCopper.WeatherState, properties: Properties) :
|
||||
CopperOvenBlock(properties), WeatheringCopper {
|
||||
|
||||
override fun randomTick(state: BlockState?, level: ServerLevel?, pos: BlockPos?, random: RandomSource?) {
|
||||
this.changeOverTime(state, level, pos, random)
|
||||
}
|
||||
|
||||
override fun isRandomlyTicking(state: BlockState): Boolean {
|
||||
return WeatheringCopper.getNext(state.getBlock()).isPresent()
|
||||
}
|
||||
|
||||
override fun getAge(): WeatheringCopper.WeatherState {
|
||||
return this.weatherState
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.util.RandomSource
|
||||
import net.minecraft.world.level.block.WeatheringCopper
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
|
||||
class WeatheringCopperWasherBlock(val weatherState: WeatheringCopper.WeatherState, properties: Properties) :
|
||||
CopperWasherBlock(properties), WeatheringCopper {
|
||||
|
||||
override fun randomTick(state: BlockState?, level: ServerLevel?, pos: BlockPos?, random: RandomSource?) {
|
||||
this.changeOverTime(state, level, pos, random)
|
||||
}
|
||||
|
||||
override fun isRandomlyTicking(state: BlockState): Boolean {
|
||||
return WeatheringCopper.getNext(state.getBlock()).isPresent()
|
||||
}
|
||||
|
||||
override fun getAge(): WeatheringCopper.WeatherState {
|
||||
return this.weatherState
|
||||
}
|
||||
}
|
||||
@@ -128,6 +128,7 @@ class DiscShelfBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobbl
|
||||
|
||||
fun isValidItem(stack: ItemStack): Boolean {
|
||||
return stack.item is TechnicalMachineItem
|
||||
|| stack.item == CobblemonItems.BLANK_TM
|
||||
|| stack.item == CobblemonItems.UPGRADE
|
||||
|| stack.item == CobblemonItems.DUBIOUS_DISC
|
||||
|| stack.has(DataComponents.JUKEBOX_PLAYABLE)
|
||||
|
||||
+2
@@ -31,6 +31,7 @@ import com.cobblemon.mod.common.client.sound.instances.CancellableSoundInstance
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.cobblemon.mod.common.item.PokeBallItem
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import com.cobblemon.mod.common.pokemon.activestate.SentOutState
|
||||
import com.cobblemon.mod.common.util.DataKeys
|
||||
import com.cobblemon.mod.common.util.giveOrDropItemStack
|
||||
import com.cobblemon.mod.common.util.lang
|
||||
@@ -235,6 +236,7 @@ class FossilMultiblockStructure (
|
||||
entity.setPos(fixedPosition.center.subtract(0.0, 0.5, 0.0))
|
||||
// TODO: Find a correct way to set the new entity's Yaw rotation. (Face away from the machine)
|
||||
if (world.addFreshEntity(entity)) {
|
||||
pokemon.state = SentOutState(entity)
|
||||
CobblemonEvents.FOSSIL_REVIVED.post(FossilRevivedEvent(pokemon, null))
|
||||
return true
|
||||
} else {
|
||||
|
||||
@@ -414,7 +414,16 @@ object CobblemonClient {
|
||||
CobblemonBlocks.NEVER_MELT_ICE,
|
||||
CobblemonBlocks.WIDE_LENS,
|
||||
CobblemonBlocks.ZOOM_LENS,
|
||||
CobblemonBlocks.SCOPE_LENS
|
||||
CobblemonBlocks.SCOPE_LENS,
|
||||
|
||||
CobblemonBlocks.COPPER_FAN,
|
||||
CobblemonBlocks.EXPOSED_COPPER_FAN,
|
||||
CobblemonBlocks.WEATHERED_COPPER_FAN,
|
||||
CobblemonBlocks.OXIDIZED_COPPER_FAN,
|
||||
CobblemonBlocks.WAXED_COPPER_FAN,
|
||||
CobblemonBlocks.WAXED_EXPOSED_COPPER_FAN,
|
||||
CobblemonBlocks.WAXED_WEATHERED_COPPER_FAN,
|
||||
CobblemonBlocks.WAXED_OXIDIZED_COPPER_FAN
|
||||
)
|
||||
|
||||
this.createBoatModelLayers()
|
||||
|
||||
+14
-28
@@ -8,9 +8,9 @@
|
||||
|
||||
package com.cobblemon.mod.common.client.render.block
|
||||
|
||||
import com.cobblemon.mod.common.CobblemonItemComponents
|
||||
import com.cobblemon.mod.common.block.entity.DiscShelfBlockEntity
|
||||
import com.cobblemon.mod.common.CobblemonItems
|
||||
import com.cobblemon.mod.common.client.render.color.TechnicalMachineItemColorProvider
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import com.mojang.blaze3d.vertex.PoseStack
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer
|
||||
@@ -37,15 +37,15 @@ class DiscShelfBlockEntityRenderer(ctx: BlockEntityRendererProvider.Context) :
|
||||
private val slotHeightPixels = 2
|
||||
private val textureSize = 16f
|
||||
|
||||
private val slotUMax = slotWidthPixels / textureSize
|
||||
private val slotVMax = slotHeightPixels / textureSize
|
||||
|
||||
private val leftMargin = 1f
|
||||
private val rightMargin = 1f
|
||||
private val topMargin = 1f
|
||||
private val interRowSpacing = 0f
|
||||
private val tmOverlayDepthOffset = -0.0002f
|
||||
private val slotBrightnessMultiplier = 0.65f
|
||||
|
||||
private val tmBaseTexture = cobblemonResource("textures/block/disc_shelf/technical_machine_base.png")
|
||||
private val tmOverlayTexture = cobblemonResource("textures/block/disc_shelf/technical_machine_overlay.png")
|
||||
private val musicDiscUnknownTexture = cobblemonResource("textures/block/disc_shelf/music_disc_unknown.png")
|
||||
|
||||
override fun render(
|
||||
@@ -98,35 +98,19 @@ class DiscShelfBlockEntityRenderer(ctx: BlockEntityRendererProvider.Context) :
|
||||
poseStack.translate(posX, posY, -0.001f)
|
||||
|
||||
if (item.item == CobblemonItems.TECHNICAL_MACHINE) {
|
||||
val baseColor = TechnicalMachineItemColorProvider.getColor(item, 0)
|
||||
val overlayColor = TechnicalMachineItemColorProvider.getColor(item, 1)
|
||||
|
||||
val elementId = item.components.get(CobblemonItemComponents.TM_MOVE)!!.move.elementalType.showdownId
|
||||
val texture = cobblemonResource("textures/block/disc_shelf/${elementId}_tm.png")
|
||||
renderSlotQuad(
|
||||
poseStack,
|
||||
buffer,
|
||||
tmBaseTexture,
|
||||
baseColor,
|
||||
texture,
|
||||
0xFFFFFF,
|
||||
packedLight,
|
||||
slotWidth,
|
||||
slotHeight,
|
||||
tint = true,
|
||||
useTextRenderType = true
|
||||
)
|
||||
|
||||
poseStack.pushPose()
|
||||
poseStack.translate(0.0, 0.0, tmOverlayDepthOffset.toDouble())
|
||||
renderSlotQuad(
|
||||
poseStack,
|
||||
buffer,
|
||||
tmOverlayTexture,
|
||||
overlayColor,
|
||||
packedLight,
|
||||
slotWidth,
|
||||
slotHeight,
|
||||
tint = true,
|
||||
useTextRenderType = true
|
||||
)
|
||||
poseStack.popPose()
|
||||
} else {
|
||||
val tex = getItemTexture(item)
|
||||
renderSlotQuad(
|
||||
@@ -176,13 +160,15 @@ class DiscShelfBlockEntityRenderer(ctx: BlockEntityRendererProvider.Context) :
|
||||
val g = (gBase * slotBrightnessMultiplier).coerceIn(0f, 1f)
|
||||
val b = (bBase * slotBrightnessMultiplier).coerceIn(0f, 1f)
|
||||
|
||||
consumer.addVertex(matrix, 0f, 0f, 0f).setColor(r, g, b, a).setUv(0f, 1f)
|
||||
// The quad faces -Z, so a viewer looking at it sees +X on their left.
|
||||
// U runs from slotUMax at x = 0 to 0 at x = width so the art is not mirrored.
|
||||
consumer.addVertex(matrix, 0f, 0f, 0f).setColor(r, g, b, a).setUv(slotUMax, slotVMax)
|
||||
.setUv1(0, 0).setUv2(light and 0xFFFF, light shr 16).setNormal(0f, 0f, -1f)
|
||||
consumer.addVertex(matrix, 0f, height, 0f).setColor(r, g, b, a).setUv(0f, 0f)
|
||||
consumer.addVertex(matrix, 0f, height, 0f).setColor(r, g, b, a).setUv(slotUMax, 0f)
|
||||
.setUv1(0, 0).setUv2(light and 0xFFFF, light shr 16).setNormal(0f, 0f, -1f)
|
||||
consumer.addVertex(matrix, width, height, 0f).setColor(r, g, b, a).setUv(1f, 0f)
|
||||
consumer.addVertex(matrix, width, height, 0f).setColor(r, g, b, a).setUv(0f, 0f)
|
||||
.setUv1(0, 0).setUv2(light and 0xFFFF, light shr 16).setNormal(0f, 0f, -1f)
|
||||
consumer.addVertex(matrix, width, 0f, 0f).setColor(r, g, b, a).setUv(1f, 1f)
|
||||
consumer.addVertex(matrix, width, 0f, 0f).setColor(r, g, b, a).setUv(0f, slotVMax)
|
||||
.setUv1(0, 0).setUv2(light and 0xFFFF, light shr 16).setNormal(0f, 0f, -1f)
|
||||
}
|
||||
|
||||
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.client.render.color
|
||||
|
||||
import com.cobblemon.mod.common.api.types.ElementalTypes
|
||||
import com.cobblemon.mod.common.item.components.TMMoveComponent.Companion.getTMMove
|
||||
import net.minecraft.client.color.item.ItemColor
|
||||
import net.minecraft.util.FastColor
|
||||
import net.minecraft.world.item.ItemStack
|
||||
|
||||
object TechnicalMachineItemColorProvider : ItemColor {
|
||||
override fun getColor(itemStack: ItemStack, layer: Int): Int {
|
||||
val moveType = getTMMove(itemStack)?.elementalType ?: ElementalTypes.NORMAL
|
||||
val color = when (layer) {
|
||||
0 -> moveType.primaryColor
|
||||
1 -> moveType.secondaryColor
|
||||
else -> 0xFFFFFF
|
||||
}
|
||||
return FastColor.ARGB32.opaque(color)
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,6 @@
|
||||
package com.cobblemon.mod.common.command
|
||||
|
||||
import com.cobblemon.mod.common.api.permission.CobblemonPermissions
|
||||
import com.cobblemon.mod.common.api.pokemon.PokemonPropertyExtractor
|
||||
import com.cobblemon.mod.common.command.argument.PokemonPropertiesArgumentType
|
||||
import com.cobblemon.mod.common.util.party
|
||||
import com.cobblemon.mod.common.util.permission
|
||||
@@ -45,7 +44,7 @@ object TestPartySlotCommand {
|
||||
val player = context.player(PLAYER)
|
||||
val slot = IntegerArgumentType.getInteger(context, SLOT)
|
||||
val properties = PokemonPropertiesArgumentType.getPokemonProperties(context, PROPERTIES)
|
||||
return if (player.party().get(slot - 1)?.createPokemonProperties(PokemonPropertyExtractor.ALL)
|
||||
?.let { properties.isSubSetOf(it) } == true) Command.SINGLE_SUCCESS else NO_SUCCESS
|
||||
val target = player.party().get(slot - 1) ?: return NO_SUCCESS
|
||||
return if (properties.matches(target)) Command.SINGLE_SUCCESS else NO_SUCCESS
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,7 @@ import com.cobblemon.mod.common.api.berry.Berries
|
||||
import com.cobblemon.mod.common.api.cooking.Seasonings
|
||||
import com.cobblemon.mod.common.api.data.DataProvider
|
||||
import com.cobblemon.mod.common.api.data.DataRegistry
|
||||
import com.cobblemon.mod.common.api.data.ServerJsonDataRegistry
|
||||
import com.cobblemon.mod.common.api.dialogue.Dialogues
|
||||
import com.cobblemon.mod.common.api.events.CobblemonEvents
|
||||
import com.cobblemon.mod.common.api.fishing.PokeRods
|
||||
@@ -51,6 +52,7 @@ import com.cobblemon.mod.common.pokemon.properties.PropertiesCompletionProvider
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import com.cobblemon.mod.common.util.ifClient
|
||||
import com.cobblemon.mod.common.util.server
|
||||
import net.minecraft.core.HolderLookup
|
||||
import java.util.UUID
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
@@ -71,8 +73,7 @@ object CobblemonDataProvider : DataProvider {
|
||||
|
||||
// client is public only so we can use it cross-module. maybe a more elegant solution exists, but this works
|
||||
@ApiStatus.Internal
|
||||
val clientResourceReloader: PreparableReloadListener = SimpleResourceReloader(PackType.CLIENT_RESOURCES)
|
||||
private val serverResourceReloader: PreparableReloadListener = SimpleResourceReloader(PackType.SERVER_DATA)
|
||||
val clientResourceReloader: PreparableReloadListener = ClientResourceReloader()
|
||||
|
||||
fun registerDefaults() {
|
||||
this.register(CobblemonScripts, reloadable = true)
|
||||
@@ -126,9 +127,9 @@ object CobblemonDataProvider : DataProvider {
|
||||
}
|
||||
|
||||
ifClient {
|
||||
Cobblemon.implementation.registerResourceReloader(cobblemonResource("client_resources"), clientResourceReloader, PackType.CLIENT_RESOURCES, emptyList())
|
||||
Cobblemon.implementation.registerResourceReloader(cobblemonResource("client_resources"), PackType.CLIENT_RESOURCES, emptyList()) { clientResourceReloader }
|
||||
}
|
||||
Cobblemon.implementation.registerResourceReloader(cobblemonResource("data_resources"), serverResourceReloader, PackType.SERVER_DATA, emptyList())
|
||||
Cobblemon.implementation.registerResourceReloader(cobblemonResource("data_resources"), PackType.SERVER_DATA, emptyList()) { ServerResourceReloader(it) }
|
||||
}
|
||||
|
||||
override fun <T : DataRegistry> register(registry: T, reloadable: Boolean): T {
|
||||
@@ -167,12 +168,25 @@ object CobblemonDataProvider : DataProvider {
|
||||
}
|
||||
}
|
||||
|
||||
private class SimpleResourceReloader(private val type: PackType) : ResourceManagerReloadListener {
|
||||
private class ClientResourceReloader : ResourceManagerReloadListener {
|
||||
override fun onResourceManagerReload(manager: ResourceManager) {
|
||||
registries.filter { it.type == PackType.CLIENT_RESOURCES }.forEach { it.reload(manager) }
|
||||
}
|
||||
}
|
||||
|
||||
private class ServerResourceReloader(private val registryAccess: HolderLookup.Provider) : ResourceManagerReloadListener {
|
||||
override fun onResourceManagerReload(manager: ResourceManager) {
|
||||
// Check for a server running, this is due to the create a world screen triggering datapack reloads, these are fine to happen as many times as needed as players may be in the process of adding their datapacks.
|
||||
val reloadAllowed = server()?.isReady != true
|
||||
registries.filter { it.type == this.type && (reloadAllowed || it in reloadableRegistries) }
|
||||
.forEach { it.reload(manager) }
|
||||
registries
|
||||
.filter { it.type == PackType.SERVER_DATA && (reloadAllowed || it in reloadableRegistries) }
|
||||
.forEach {
|
||||
if (it is ServerJsonDataRegistry<*>) {
|
||||
it.reload(manager, registryAccess)
|
||||
} else {
|
||||
it.reload(manager)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -487,6 +487,47 @@ object CobblemonItemGroups {
|
||||
entries.accept(CobblemonItems.PINK_PLAQUE)
|
||||
|
||||
CobblemonItems.campfire_pots.forEach(entries::accept)
|
||||
|
||||
entries.accept(CobblemonItems.COPPER_OVEN)
|
||||
entries.accept(CobblemonItems.COPPER_WASHER)
|
||||
entries.accept(CobblemonItems.COPPER_FAN)
|
||||
entries.accept(CobblemonItems.COPPER_MOWER)
|
||||
entries.accept(CobblemonItems.COPPER_FRIDGE)
|
||||
entries.accept(CobblemonItems.EXPOSED_COPPER_OVEN)
|
||||
entries.accept(CobblemonItems.EXPOSED_COPPER_WASHER)
|
||||
entries.accept(CobblemonItems.EXPOSED_COPPER_FAN)
|
||||
entries.accept(CobblemonItems.EXPOSED_COPPER_MOWER)
|
||||
entries.accept(CobblemonItems.EXPOSED_COPPER_FRIDGE)
|
||||
entries.accept(CobblemonItems.WEATHERED_COPPER_OVEN)
|
||||
entries.accept(CobblemonItems.WEATHERED_COPPER_WASHER)
|
||||
entries.accept(CobblemonItems.WEATHERED_COPPER_FAN)
|
||||
entries.accept(CobblemonItems.WEATHERED_COPPER_MOWER)
|
||||
entries.accept(CobblemonItems.WEATHERED_COPPER_FRIDGE)
|
||||
entries.accept(CobblemonItems.OXIDIZED_COPPER_OVEN)
|
||||
entries.accept(CobblemonItems.OXIDIZED_COPPER_WASHER)
|
||||
entries.accept(CobblemonItems.OXIDIZED_COPPER_FAN)
|
||||
entries.accept(CobblemonItems.OXIDIZED_COPPER_MOWER)
|
||||
entries.accept(CobblemonItems.OXIDIZED_COPPER_FRIDGE)
|
||||
entries.accept(CobblemonItems.WAXED_COPPER_OVEN)
|
||||
entries.accept(CobblemonItems.WAXED_COPPER_WASHER)
|
||||
entries.accept(CobblemonItems.WAXED_COPPER_FAN)
|
||||
entries.accept(CobblemonItems.WAXED_COPPER_MOWER)
|
||||
entries.accept(CobblemonItems.WAXED_COPPER_FRIDGE)
|
||||
entries.accept(CobblemonItems.WAXED_EXPOSED_COPPER_OVEN)
|
||||
entries.accept(CobblemonItems.WAXED_EXPOSED_COPPER_WASHER)
|
||||
entries.accept(CobblemonItems.WAXED_EXPOSED_COPPER_FAN)
|
||||
entries.accept(CobblemonItems.WAXED_EXPOSED_COPPER_MOWER)
|
||||
entries.accept(CobblemonItems.WAXED_EXPOSED_COPPER_FRIDGE)
|
||||
entries.accept(CobblemonItems.WAXED_WEATHERED_COPPER_OVEN)
|
||||
entries.accept(CobblemonItems.WAXED_WEATHERED_COPPER_WASHER)
|
||||
entries.accept(CobblemonItems.WAXED_WEATHERED_COPPER_FAN)
|
||||
entries.accept(CobblemonItems.WAXED_WEATHERED_COPPER_MOWER)
|
||||
entries.accept(CobblemonItems.WAXED_WEATHERED_COPPER_FRIDGE)
|
||||
entries.accept(CobblemonItems.WAXED_OXIDIZED_COPPER_OVEN)
|
||||
entries.accept(CobblemonItems.WAXED_OXIDIZED_COPPER_WASHER)
|
||||
entries.accept(CobblemonItems.WAXED_OXIDIZED_COPPER_FAN)
|
||||
entries.accept(CobblemonItems.WAXED_OXIDIZED_COPPER_MOWER)
|
||||
entries.accept(CobblemonItems.WAXED_OXIDIZED_COPPER_FRIDGE)
|
||||
}
|
||||
|
||||
private fun consumableEntries(displayContext: ItemDisplayParameters, entries: Output) {
|
||||
|
||||
+14
-7
@@ -9,6 +9,7 @@
|
||||
package com.cobblemon.mod.common.pokemon.evolution.adapters
|
||||
|
||||
import com.cobblemon.mod.common.util.adapters.CodecBackedAdapter
|
||||
import com.cobblemon.mod.common.util.adapters.RegistryAccessResolver
|
||||
import com.google.gson.JsonDeserializationContext
|
||||
import com.google.gson.JsonDeserializer
|
||||
import com.google.gson.JsonElement
|
||||
@@ -19,6 +20,7 @@ import net.minecraft.advancements.critereon.ItemCustomDataPredicate
|
||||
import net.minecraft.advancements.critereon.ItemPredicate
|
||||
import net.minecraft.advancements.critereon.ItemSubPredicates
|
||||
import net.minecraft.advancements.critereon.NbtPredicate
|
||||
import net.minecraft.core.HolderLookup
|
||||
import net.minecraft.core.registries.BuiltInRegistries
|
||||
import net.minecraft.core.registries.Registries
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
@@ -26,13 +28,16 @@ import net.minecraft.tags.TagKey
|
||||
import java.lang.reflect.Type
|
||||
|
||||
// This is an ugly adapter because breaking changes are scary and people would ;(
|
||||
object LegacyItemConditionWrapperAdapter : JsonDeserializer<ItemPredicate>, JsonSerializer<ItemPredicate> {
|
||||
class LegacyItemConditionWrapperAdapter(val registryAccess: HolderLookup.Provider = RegistryAccessResolver.getAccess())
|
||||
: JsonDeserializer<ItemPredicate>, JsonSerializer<ItemPredicate> {
|
||||
|
||||
private const val TAG_PREFIX = "#"
|
||||
private const val LEGACY_ITEM = "item"
|
||||
private const val LEGACY_NBT = "nbt"
|
||||
companion object {
|
||||
private const val TAG_PREFIX = "#"
|
||||
private const val LEGACY_ITEM = "item"
|
||||
private const val LEGACY_NBT = "nbt"
|
||||
}
|
||||
|
||||
private val codecAdapter = CodecBackedAdapter(ItemPredicate.CODEC)
|
||||
private val codecAdapter = CodecBackedAdapter(ItemPredicate.CODEC, registryAccess)
|
||||
|
||||
override fun deserialize(json: JsonElement, typeOfT: Type, context: JsonDeserializationContext): ItemPredicate {
|
||||
if (json.isJsonPrimitive) {
|
||||
@@ -64,7 +69,9 @@ object LegacyItemConditionWrapperAdapter : JsonDeserializer<ItemPredicate>, Json
|
||||
{ id ->
|
||||
if (isTag) {
|
||||
val tag = TagKey.create(Registries.ITEM, id)
|
||||
builder.of(tag)
|
||||
registryAccess.lookup(Registries.ITEM)
|
||||
.map { builder.of(tag) }
|
||||
.orElseGet { builder }
|
||||
} else {
|
||||
BuiltInRegistries.ITEM.getOptional(id)
|
||||
.map { builder.of(it) }
|
||||
@@ -75,4 +82,4 @@ object LegacyItemConditionWrapperAdapter : JsonDeserializer<ItemPredicate>, Json
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,16 +10,19 @@ package com.cobblemon.mod.common.util.adapters
|
||||
|
||||
import com.google.gson.*
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.JsonOps
|
||||
import net.minecraft.core.HolderLookup
|
||||
import net.minecraft.resources.RegistryOps
|
||||
import java.lang.reflect.Type
|
||||
|
||||
class CodecBackedAdapter<T>(val codec: Codec<T>) : JsonDeserializer<T>, JsonSerializer<T> {
|
||||
class CodecBackedAdapter<T>(val codec: Codec<T>, val registryAccess: HolderLookup.Provider = RegistryAccessResolver.getAccess()) : JsonDeserializer<T>, JsonSerializer<T> {
|
||||
|
||||
override fun deserialize(
|
||||
jElement: JsonElement,
|
||||
typeOfT: Type,
|
||||
context: JsonDeserializationContext
|
||||
): T {
|
||||
val ops = RegistryOpsProvider.getOpsWithDefaultFallback()
|
||||
val ops = RegistryOps.create(JsonOps.INSTANCE, registryAccess)
|
||||
val result = ops.withDecoder(codec).apply(jElement)
|
||||
return result.result().orElseThrow {
|
||||
IllegalStateException("Failed to deserialize $jElement: ${result.error().orElse(null)}")
|
||||
@@ -31,7 +34,7 @@ class CodecBackedAdapter<T>(val codec: Codec<T>) : JsonDeserializer<T>, JsonSeri
|
||||
typeOfSrc: Type?,
|
||||
context: JsonSerializationContext?
|
||||
): JsonElement {
|
||||
val ops = RegistryOpsProvider.getOpsWithDefaultFallback()
|
||||
val ops = RegistryOps.create(JsonOps.INSTANCE, registryAccess)
|
||||
val result = ops.withEncoder(codec).apply(src)
|
||||
return result.result().orElseThrow {
|
||||
IllegalStateException("Failed to serialize $src: ${result.error().orElse(null)}")
|
||||
|
||||
+13
-7
@@ -15,27 +15,33 @@ import com.google.gson.JsonElement
|
||||
import com.mojang.serialization.DynamicOps
|
||||
import com.mojang.serialization.JsonOps
|
||||
import net.minecraft.client.Minecraft
|
||||
import net.minecraft.core.RegistryAccess
|
||||
import net.minecraft.resources.RegistryOps
|
||||
|
||||
/**
|
||||
* Utility for obtaining RegistryOps with the correct client/server registry access.
|
||||
* Used when manually encoding/decoding registry-backed values (e.g., items, predicates).
|
||||
* Utility for getting RegistryAccess with the correct client/server registry access.
|
||||
* Used when as a fallback when manually encoding/decoding registry-backed values (e.g., items, predicates).
|
||||
*/
|
||||
object RegistryOpsProvider {
|
||||
fun getOpsWithDefaultFallback(): DynamicOps<JsonElement> {
|
||||
object RegistryAccessResolver {
|
||||
fun getAccess(): RegistryAccess {
|
||||
try {
|
||||
Cobblemon.implementation
|
||||
} catch (e: UninitializedPropertyAccessException) {
|
||||
return RegistryAccess.EMPTY
|
||||
}
|
||||
if (Cobblemon.implementation.environment() == Environment.CLIENT) {
|
||||
val minecraft = Minecraft.getInstance()
|
||||
if (minecraft != null && minecraft.level != null)
|
||||
return RegistryOps.create(JsonOps.INSTANCE, minecraft.level!!.registryAccess())
|
||||
return minecraft.level!!.registryAccess()
|
||||
}
|
||||
|
||||
|
||||
if (Cobblemon.implementation.environment() == Environment.SERVER) {
|
||||
val server = server()
|
||||
if (server != null)
|
||||
return RegistryOps.create(JsonOps.INSTANCE, server.registryAccess())
|
||||
return server.registryAccess()
|
||||
}
|
||||
|
||||
return JsonOps.INSTANCE
|
||||
return RegistryAccess.EMPTY
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ import com.cobblemon.mod.common.api.abilities.Abilities
|
||||
import com.cobblemon.mod.common.api.abilities.Ability
|
||||
import com.cobblemon.mod.common.api.moves.BenchedMoves
|
||||
import com.cobblemon.mod.common.api.moves.MoveSet
|
||||
import com.cobblemon.mod.common.api.pokemon.feature.SpeciesFeatures
|
||||
import com.cobblemon.mod.common.pokemon.EVs
|
||||
import com.cobblemon.mod.common.pokemon.FormData
|
||||
import com.cobblemon.mod.common.pokemon.Gender
|
||||
@@ -21,20 +22,22 @@ import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import com.cobblemon.mod.common.pokemon.Species
|
||||
import com.cobblemon.mod.common.util.DataKeys
|
||||
import com.cobblemon.mod.common.util.codec.CodecUtils
|
||||
import com.cobblemon.mod.common.util.codec.internal.ClientPokemonP1.Companion.FEATURES
|
||||
import com.cobblemon.mod.common.util.codec.internal.ClientPokemonP1.Companion.FEATURE_ID
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.MapCodec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import java.util.Optional
|
||||
import java.util.UUID
|
||||
import net.minecraft.core.UUIDUtil
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.network.chat.ComponentSerialization
|
||||
import net.minecraft.nbt.CompoundTag
|
||||
import net.minecraft.nbt.StringTag
|
||||
import net.minecraft.nbt.Tag
|
||||
|
||||
internal class PokemonP1(
|
||||
val uuid: UUID,
|
||||
val species: Species,
|
||||
val form: FormData,
|
||||
val nickname: Optional<Component>,
|
||||
val features: List<CompoundTag>,
|
||||
val level: Int,
|
||||
val experience: Int,
|
||||
val friendship: Int,
|
||||
@@ -55,7 +58,22 @@ internal class PokemonP1(
|
||||
other.ability = this.ability
|
||||
other.species = this.species
|
||||
other.form = this.form
|
||||
this.nickname.ifPresent { other.nickname = it.copy() }
|
||||
this.features.forEach { featureNbt ->
|
||||
val featureId = featureNbt.getString(FEATURE_ID)
|
||||
if (featureId.isEmpty()) {
|
||||
return@forEach
|
||||
}
|
||||
val speciesFeatureProviders = SpeciesFeatures.getFeaturesFor(other.species)
|
||||
val feature = speciesFeatureProviders.firstNotNullOfOrNull { provider -> provider(featureNbt) } ?: return@forEach
|
||||
if (
|
||||
featureNbt.contains("keys", Tag.TAG_STRING.toInt()) &&
|
||||
!featureNbt.getList("keys", Tag.TAG_STRING.toInt()).contains(StringTag.valueOf(featureId))
|
||||
) {
|
||||
return@forEach
|
||||
}
|
||||
other.features.removeIf { it.name == feature.name }
|
||||
other.features.add(feature)
|
||||
}
|
||||
other.level = this.level
|
||||
other.experience = this.experience
|
||||
other.setFriendship(this.friendship)
|
||||
@@ -91,7 +109,7 @@ internal class PokemonP1(
|
||||
UUIDUtil.LENIENT_CODEC.fieldOf(DataKeys.POKEMON_UUID).forGetter(PokemonP1::uuid),
|
||||
Species.BY_IDENTIFIER_CODEC.fieldOf(DataKeys.POKEMON_SPECIES_IDENTIFIER).forGetter(PokemonP1::species),
|
||||
Codec.STRING.fieldOf(DataKeys.POKEMON_FORM_ID).forGetter { pokemon -> pokemon.form.formOnlyShowdownId() },
|
||||
ComponentSerialization.CODEC.optionalFieldOf(DataKeys.POKEMON_NICKNAME).forGetter(PokemonP1::nickname),
|
||||
Codec.list(CompoundTag.CODEC).optionalFieldOf(FEATURES, emptyList()).forGetter(PokemonP1::features),
|
||||
CodecUtils.dynamicIntRange(1) { Cobblemon.config.maxPokemonLevel }.fieldOf(DataKeys.POKEMON_LEVEL).forGetter(PokemonP1::level),
|
||||
Codec.intRange(0, Int.MAX_VALUE).fieldOf(DataKeys.POKEMON_EXPERIENCE).forGetter(PokemonP1::experience),
|
||||
CodecUtils.dynamicIntRange(0) { Cobblemon.config.maxPokemonFriendship }.fieldOf(DataKeys.POKEMON_FRIENDSHIP).forGetter(PokemonP1::friendship),
|
||||
@@ -104,9 +122,9 @@ internal class PokemonP1(
|
||||
Codec.FLOAT.fieldOf(DataKeys.POKEMON_SCALE_MODIFIER).forGetter(PokemonP1::scaleModifier),
|
||||
Codec.BOOL.fieldOf(DataKeys.POKEMON_SHINY).forGetter(PokemonP1::shiny),
|
||||
Ability.CODEC.fieldOf(DataKeys.POKEMON_ABILITY).forGetter(PokemonP1::ability)
|
||||
).apply(instance) { uuid, species, formId, nickname, level, experience, friendship, currentHealth, gender, ivs, evs, moveSet, benchedMoves, scaleModifier, shiny, ability ->
|
||||
).apply(instance) { uuid, species, formId, features, level, experience, friendship, currentHealth, gender, ivs, evs, moveSet, benchedMoves, scaleModifier, shiny, ability ->
|
||||
val form = species.forms.firstOrNull { it.formOnlyShowdownId() == formId } ?: species.standardForm
|
||||
PokemonP1(uuid, species, form, nickname, level, experience, friendship, currentHealth, gender, ivs, evs, moveSet, benchedMoves, scaleModifier, shiny, ability)
|
||||
PokemonP1(uuid, species, form, features, level, experience, friendship, currentHealth, gender, ivs, evs, moveSet, benchedMoves, scaleModifier, shiny, ability)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,7 +132,11 @@ internal class PokemonP1(
|
||||
pokemon.uuid,
|
||||
pokemon.species,
|
||||
pokemon.form,
|
||||
Optional.ofNullable(pokemon.nickname),
|
||||
pokemon.features.map { feature ->
|
||||
val nbt = CompoundTag()
|
||||
nbt.putString(FEATURE_ID, feature.name)
|
||||
feature.saveToNBT(nbt)
|
||||
},
|
||||
pokemon.level,
|
||||
pokemon.experience,
|
||||
pokemon.friendship,
|
||||
|
||||
@@ -14,15 +14,12 @@ import com.cobblemon.mod.common.api.riding.stats.RidingStat
|
||||
import com.cobblemon.mod.common.pokemon.OriginalTrainerType
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import com.cobblemon.mod.common.util.DataKeys
|
||||
import com.cobblemon.mod.common.util.codec.internal.ClientPokemonP1.Companion.FEATURES
|
||||
import com.cobblemon.mod.common.util.codec.internal.ClientPokemonP1.Companion.FEATURE_ID
|
||||
import com.cobblemon.mod.common.util.codec.optionalFieldOfWithDefault
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.MapCodec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import net.minecraft.nbt.CompoundTag
|
||||
import net.minecraft.nbt.StringTag
|
||||
import net.minecraft.nbt.Tag
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.network.chat.ComponentSerialization
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import java.util.*
|
||||
@@ -31,7 +28,7 @@ internal data class PokemonP3(
|
||||
val originalTrainerType: OriginalTrainerType,
|
||||
val originalTrainer: Optional<String>,
|
||||
val forcedAspects: Set<String>,
|
||||
val features: List<CompoundTag>,
|
||||
val nickname: Optional<Component>,
|
||||
val heldItemVisible: Optional<Boolean>,
|
||||
val canDropHeldItem: Optional<Boolean>,
|
||||
val cosmeticItem: ItemStack,
|
||||
@@ -51,22 +48,7 @@ internal data class PokemonP3(
|
||||
this.originalTrainer.ifPresent { other.originalTrainer = it }
|
||||
other.refreshOriginalTrainer()
|
||||
other.forcedAspects = this.forcedAspects
|
||||
this.features.forEach { featureNbt ->
|
||||
val featureId = featureNbt.getString(FEATURE_ID)
|
||||
if (featureId.isEmpty()) {
|
||||
return@forEach
|
||||
}
|
||||
val speciesFeatureProviders = SpeciesFeatures.getFeaturesFor(other.species)
|
||||
val feature = speciesFeatureProviders.firstNotNullOfOrNull { provider -> provider(featureNbt) } ?: return@forEach
|
||||
if (
|
||||
featureNbt.contains("keys", Tag.TAG_STRING.toInt()) &&
|
||||
!featureNbt.getList("keys", Tag.TAG_STRING.toInt()).contains(StringTag.valueOf(featureId))
|
||||
) {
|
||||
return@forEach
|
||||
}
|
||||
other.features.removeIf { it.name == feature.name }
|
||||
other.features.add(feature)
|
||||
}
|
||||
this.nickname.ifPresent { other.nickname = it.copy() }
|
||||
this.heldItemVisible.ifPresent { other.heldItemVisible = it }
|
||||
this.canDropHeldItem.ifPresent { other.canDropHeldItem = it }
|
||||
this.cosmeticItem.let { other.cosmeticItem = it }
|
||||
@@ -92,7 +74,7 @@ internal data class PokemonP3(
|
||||
OriginalTrainerType.CODEC.optionalFieldOfWithDefault(DataKeys.POKEMON_ORIGINAL_TRAINER_TYPE, OriginalTrainerType.NONE).forGetter(PokemonP3::originalTrainerType),
|
||||
Codec.STRING.optionalFieldOf(DataKeys.POKEMON_ORIGINAL_TRAINER).forGetter(PokemonP3::originalTrainer),
|
||||
Codec.list(Codec.STRING).optionalFieldOf(DataKeys.POKEMON_FORCED_ASPECTS, emptyList()).forGetter { it.forcedAspects.toMutableList() },
|
||||
Codec.list(CompoundTag.CODEC).optionalFieldOf(FEATURES, emptyList()).forGetter(PokemonP3::features),
|
||||
ComponentSerialization.CODEC.optionalFieldOf(DataKeys.POKEMON_NICKNAME).forGetter(PokemonP3::nickname),
|
||||
Codec.BOOL.optionalFieldOf(DataKeys.HELD_ITEM_VISIBLE).forGetter(PokemonP3::heldItemVisible),
|
||||
Codec.BOOL.optionalFieldOf(DataKeys.HELD_ITEM_AI_DROPPABLE).forGetter(PokemonP3::canDropHeldItem),
|
||||
ItemStack.CODEC.optionalFieldOf(DataKeys.POKEMON_COSMETIC_ITEM).forGetter { Optional.ofNullable(it.cosmeticItem.takeIf { !it.isEmpty }) },
|
||||
@@ -109,7 +91,7 @@ internal data class PokemonP3(
|
||||
originalTrainerType,
|
||||
originalTrainer,
|
||||
forcedAspects,
|
||||
features,
|
||||
nickname,
|
||||
heldItemVisible,
|
||||
canDropHeldItem,
|
||||
cosmeticItem,
|
||||
@@ -125,7 +107,7 @@ internal data class PokemonP3(
|
||||
originalTrainerType,
|
||||
originalTrainer,
|
||||
forcedAspects.toSet(),
|
||||
features,
|
||||
nickname,
|
||||
heldItemVisible,
|
||||
canDropHeldItem,
|
||||
cosmeticItem.orElse(ItemStack.EMPTY),
|
||||
@@ -146,11 +128,7 @@ internal data class PokemonP3(
|
||||
pokemon.originalTrainerType,
|
||||
Optional.ofNullable(pokemon.originalTrainer),
|
||||
pokemon.forcedAspects,
|
||||
pokemon.features.map { feature ->
|
||||
val nbt = CompoundTag()
|
||||
nbt.putString(FEATURE_ID, feature.name)
|
||||
feature.saveToNBT(nbt)
|
||||
},
|
||||
Optional.ofNullable(pokemon.nickname),
|
||||
Optional.ofNullable(pokemon.heldItemVisible),
|
||||
Optional.ofNullable(pokemon.canDropHeldItem),
|
||||
pokemon.cosmeticItem,
|
||||
|
||||
@@ -0,0 +1,469 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,power=0": {
|
||||
"model": "cobblemon:block/copper_fan_unpowered",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=0": {
|
||||
"model": "cobblemon:block/copper_fan_unpowered"
|
||||
},
|
||||
"facing=south,power=0": {
|
||||
"model": "cobblemon:block/copper_fan_unpowered",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=0": {
|
||||
"model": "cobblemon:block/copper_fan_unpowered",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=1,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=1,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=2,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=2,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=3,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=3,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=4,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=4,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=5,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=5,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=6,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=6,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=7,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=7,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=8,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=8,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=9,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=9,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=10,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=10,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=11,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=11,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=12,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=12,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=13,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=13,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=14,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=14,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=15,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=15,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,half=lower": {
|
||||
"model": "cobblemon:block/copper_fridge_bottom",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=lower": {
|
||||
"model": "cobblemon:block/copper_fridge_bottom"
|
||||
},
|
||||
"facing=south,half=lower": {
|
||||
"model": "cobblemon:block/copper_fridge_bottom",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=lower": {
|
||||
"model": "cobblemon:block/copper_fridge_bottom",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=upper": {
|
||||
"model": "cobblemon:block/copper_fridge_top",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=upper": {
|
||||
"model": "cobblemon:block/copper_fridge_top"
|
||||
},
|
||||
"facing=south,half=upper": {
|
||||
"model": "cobblemon:block/copper_fridge_top",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=upper": {
|
||||
"model": "cobblemon:block/copper_fridge_top",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/copper_mower",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/copper_mower"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/copper_mower",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/copper_mower",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_open"
|
||||
},
|
||||
"facing=south,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_open",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,ejecting=true": {
|
||||
"model": "cobblemon:block/copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,ejecting=true": {
|
||||
"model": "cobblemon:block/copper_oven_open"
|
||||
},
|
||||
"facing=south,ejecting=true": {
|
||||
"model": "cobblemon:block/copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,ejecting=true": {
|
||||
"model": "cobblemon:block/copper_oven_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/copper_washer",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/copper_washer"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/copper_washer",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/copper_washer",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,469 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,power=0": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_unpowered",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=0": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_unpowered"
|
||||
},
|
||||
"facing=south,power=0": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_unpowered",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=0": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_unpowered",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=1,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=1,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=2,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=2,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=3,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=3,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=4,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=4,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=5,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=5,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=6,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=6,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=7,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=7,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=8,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=8,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=9,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=9,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=10,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=10,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=11,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=11,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=12,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=12,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=13,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=13,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=14,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=14,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=15,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=15,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,half=lower": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_bottom",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=lower": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_bottom"
|
||||
},
|
||||
"facing=south,half=lower": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_bottom",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=lower": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_bottom",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=upper": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_top",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=upper": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_top"
|
||||
},
|
||||
"facing=south,half=upper": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_top",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=upper": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_top",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/exposed_copper_mower",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/exposed_copper_mower"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/exposed_copper_mower",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/exposed_copper_mower",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open"
|
||||
},
|
||||
"facing=south,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,ejecting=true": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,ejecting=true": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open"
|
||||
},
|
||||
"facing=south,ejecting=true": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,ejecting=true": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/exposed_copper_washer",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/exposed_copper_washer"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/exposed_copper_washer",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/exposed_copper_washer",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,469 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,power=0": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_unpowered",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=0": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_unpowered"
|
||||
},
|
||||
"facing=south,power=0": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_unpowered",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=0": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_unpowered",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=1,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=1,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=2,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=2,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=3,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=3,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=4,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=4,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=5,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=5,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=6,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=6,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=7,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=7,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=8,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=8,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=9,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=9,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=10,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=10,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=11,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=11,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=12,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=12,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=13,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=13,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=14,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=14,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=15,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=15,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,half=lower": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_bottom",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=lower": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_bottom"
|
||||
},
|
||||
"facing=south,half=lower": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_bottom",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=lower": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_bottom",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=upper": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_top",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=upper": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_top"
|
||||
},
|
||||
"facing=south,half=upper": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_top",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=upper": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_top",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/oxidized_copper_mower",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/oxidized_copper_mower"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/oxidized_copper_mower",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/oxidized_copper_mower",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open"
|
||||
},
|
||||
"facing=south,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,ejecting=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,ejecting=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open"
|
||||
},
|
||||
"facing=south,ejecting=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,ejecting=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/oxidized_copper_washer",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/oxidized_copper_washer"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/oxidized_copper_washer",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/oxidized_copper_washer",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,469 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,power=0": {
|
||||
"model": "cobblemon:block/copper_fan_unpowered",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=0": {
|
||||
"model": "cobblemon:block/copper_fan_unpowered"
|
||||
},
|
||||
"facing=south,power=0": {
|
||||
"model": "cobblemon:block/copper_fan_unpowered",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=0": {
|
||||
"model": "cobblemon:block/copper_fan_unpowered",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=1,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=1,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=2,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=2,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=3,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=3,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=4,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=4,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=5,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=5,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=6,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=6,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=7,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=7,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=8,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=8,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=9,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=9,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=10,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=10,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=11,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=11,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=12,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=12,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=13,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=13,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=14,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=14,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=15,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=false": {
|
||||
"model": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=15,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=true": {
|
||||
"model": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,half=lower": {
|
||||
"model": "cobblemon:block/copper_fridge_bottom",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=lower": {
|
||||
"model": "cobblemon:block/copper_fridge_bottom"
|
||||
},
|
||||
"facing=south,half=lower": {
|
||||
"model": "cobblemon:block/copper_fridge_bottom",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=lower": {
|
||||
"model": "cobblemon:block/copper_fridge_bottom",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=upper": {
|
||||
"model": "cobblemon:block/copper_fridge_top",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=upper": {
|
||||
"model": "cobblemon:block/copper_fridge_top"
|
||||
},
|
||||
"facing=south,half=upper": {
|
||||
"model": "cobblemon:block/copper_fridge_top",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=upper": {
|
||||
"model": "cobblemon:block/copper_fridge_top",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/copper_mower",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/copper_mower"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/copper_mower",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/copper_mower",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_open"
|
||||
},
|
||||
"facing=south,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_open",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,ejecting=true": {
|
||||
"model": "cobblemon:block/copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,ejecting=true": {
|
||||
"model": "cobblemon:block/copper_oven_open"
|
||||
},
|
||||
"facing=south,ejecting=true": {
|
||||
"model": "cobblemon:block/copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,ejecting=true": {
|
||||
"model": "cobblemon:block/copper_oven_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/copper_washer",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/copper_washer"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/copper_washer",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/copper_washer",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,469 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,power=0": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_unpowered",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=0": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_unpowered"
|
||||
},
|
||||
"facing=south,power=0": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_unpowered",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=0": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_unpowered",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=1,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=1,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=2,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=2,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=3,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=3,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=4,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=4,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=5,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=5,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=6,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=6,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=7,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=7,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=8,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=8,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=9,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=9,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=10,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=10,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=11,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=11,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=12,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=12,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=13,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=13,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=14,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=14,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=15,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=false": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=15,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=true": {
|
||||
"model": "cobblemon:block/exposed_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,half=lower": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_bottom",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=lower": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_bottom"
|
||||
},
|
||||
"facing=south,half=lower": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_bottom",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=lower": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_bottom",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=upper": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_top",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=upper": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_top"
|
||||
},
|
||||
"facing=south,half=upper": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_top",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=upper": {
|
||||
"model": "cobblemon:block/exposed_copper_fridge_top",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/exposed_copper_mower",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/exposed_copper_mower"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/exposed_copper_mower",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/exposed_copper_mower",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open"
|
||||
},
|
||||
"facing=south,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,ejecting=true": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,ejecting=true": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open"
|
||||
},
|
||||
"facing=south,ejecting=true": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,ejecting=true": {
|
||||
"model": "cobblemon:block/exposed_copper_oven_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/exposed_copper_washer",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/exposed_copper_washer"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/exposed_copper_washer",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/exposed_copper_washer",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,power=0": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_unpowered",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=0": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_unpowered"
|
||||
},
|
||||
"facing=south,power=0": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_unpowered",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=0": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_unpowered",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=1,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=1,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=2,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=2,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=3,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=3,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=4,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=4,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=5,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=5,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=6,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=6,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=7,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=7,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=8,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=8,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=9,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=9,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=10,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=10,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=11,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=11,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=12,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=12,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=13,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=13,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=14,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=14,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=15,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=15,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,half=lower": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_bottom",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=lower": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_bottom"
|
||||
},
|
||||
"facing=south,half=lower": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_bottom",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=lower": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_bottom",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=upper": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_top",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=upper": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_top"
|
||||
},
|
||||
"facing=south,half=upper": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_top",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=upper": {
|
||||
"model": "cobblemon:block/oxidized_copper_fridge_top",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/oxidized_copper_mower",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/oxidized_copper_mower"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/oxidized_copper_mower",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/oxidized_copper_mower",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open"
|
||||
},
|
||||
"facing=south,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,ejecting=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,ejecting=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open"
|
||||
},
|
||||
"facing=south,ejecting=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,ejecting=true": {
|
||||
"model": "cobblemon:block/oxidized_copper_oven_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/oxidized_copper_washer",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/oxidized_copper_washer"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/oxidized_copper_washer",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/oxidized_copper_washer",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+469
@@ -0,0 +1,469 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,power=0": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_unpowered",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=0": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_unpowered"
|
||||
},
|
||||
"facing=south,power=0": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_unpowered",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=0": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_unpowered",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=1,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=1,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=2,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=2,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=3,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=3,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=4,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=4,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=5,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=5,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=6,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=6,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=7,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=7,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=8,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=8,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=9,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=9,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=10,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=10,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=11,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=11,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=12,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=12,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=13,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=13,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=14,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=14,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=15,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=15,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,half=lower": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_bottom",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=lower": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_bottom"
|
||||
},
|
||||
"facing=south,half=lower": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_bottom",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=lower": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_bottom",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=upper": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_top",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=upper": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_top"
|
||||
},
|
||||
"facing=south,half=upper": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_top",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=upper": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_top",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/weathered_copper_mower",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/weathered_copper_mower"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/weathered_copper_mower",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/weathered_copper_mower",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open"
|
||||
},
|
||||
"facing=south,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,ejecting=true": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,ejecting=true": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open"
|
||||
},
|
||||
"facing=south,ejecting=true": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,ejecting=true": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/weathered_copper_washer",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/weathered_copper_washer"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/weathered_copper_washer",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/weathered_copper_washer",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,469 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,power=0": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_unpowered",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=0": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_unpowered"
|
||||
},
|
||||
"facing=south,power=0": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_unpowered",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=0": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_unpowered",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=1,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=1,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=1,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=1,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=1,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=2,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=2,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=2,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=2,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=2,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=3,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=3,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=3,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=3,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=3,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=4,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=4,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=4,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=4,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=4,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=5,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=5,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=5,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=5,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=5,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=6,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=6,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=6,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=6,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=6,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative"
|
||||
},
|
||||
"facing=south,power=7,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=7,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=7,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing"
|
||||
},
|
||||
"facing=south,power=7,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=7,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=8,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=8,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=8,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=8,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=8,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=9,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=9,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=9,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=9,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=9,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=10,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=10,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=10,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=10,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=10,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=11,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=11,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=11,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=11,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=11,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=12,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=12,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=12,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=12,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=12,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=13,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=13,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=13,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=13,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=13,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=14,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=14,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=14,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=14,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=14,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong"
|
||||
},
|
||||
"facing=south,power=15,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=false": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_decorative_strong",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,power=15,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,power=15,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong"
|
||||
},
|
||||
"facing=south,power=15,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,power=15,push=true": {
|
||||
"model": "cobblemon:block/weathered_copper_fan_pushing_strong",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,half=lower": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_bottom",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=lower": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_bottom"
|
||||
},
|
||||
"facing=south,half=lower": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_bottom",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=lower": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_bottom",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=upper": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_top",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,half=upper": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_top"
|
||||
},
|
||||
"facing=south,half=upper": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_top",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=upper": {
|
||||
"model": "cobblemon:block/weathered_copper_fridge_top",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/weathered_copper_mower",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/weathered_copper_mower"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/weathered_copper_mower",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/weathered_copper_mower",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=closed,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open"
|
||||
},
|
||||
"facing=south,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=open,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed"
|
||||
},
|
||||
"facing=south,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,cooking=cooking,ejecting=false": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,ejecting=true": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,ejecting=true": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open"
|
||||
},
|
||||
"facing=south,ejecting=true": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,ejecting=true": {
|
||||
"model": "cobblemon:block/weathered_copper_oven_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/weathered_copper_washer",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/weathered_copper_washer"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/weathered_copper_washer",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/weathered_copper_washer",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -950,6 +950,46 @@
|
||||
"block.cobblemon.campfire_pot_yellow": "Yellow Campfire Pot",
|
||||
"block.cobblemon.tm_machine": "TM Machine",
|
||||
"block.cobblemon.disc_shelf": "Disc Shelf",
|
||||
"block.cobblemon.copper_oven": "Copper Oven",
|
||||
"block.cobblemon.exposed_copper_oven": "Exposed Copper Oven",
|
||||
"block.cobblemon.weathered_copper_oven": "Weathered Copper Oven",
|
||||
"block.cobblemon.oxidized_copper_oven": "Oxidized Copper Oven",
|
||||
"block.cobblemon.waxed_copper_oven": "Waxed Copper Oven",
|
||||
"block.cobblemon.waxed_exposed_copper_oven": "Waxed Exposed Copper Oven",
|
||||
"block.cobblemon.waxed_weathered_copper_oven": "Waxed Weathered Copper Oven",
|
||||
"block.cobblemon.waxed_oxidized_copper_oven": "Waxed Oxidized Copper Oven",
|
||||
"block.cobblemon.copper_washer": "Copper Washer",
|
||||
"block.cobblemon.exposed_copper_washer": "Exposed Copper Washer",
|
||||
"block.cobblemon.weathered_copper_washer": "Weathered Copper Washer",
|
||||
"block.cobblemon.oxidized_copper_washer": "Oxidized Copper Washer",
|
||||
"block.cobblemon.waxed_copper_washer": "Waxed Copper Washer",
|
||||
"block.cobblemon.waxed_exposed_copper_washer": "Waxed Exposed Copper Washer",
|
||||
"block.cobblemon.waxed_weathered_copper_washer": "Waxed Weathered Copper Washer",
|
||||
"block.cobblemon.waxed_oxidized_copper_washer": "Waxed Oxidized Copper Washer",
|
||||
"block.cobblemon.copper_fridge": "Copper Fridge",
|
||||
"block.cobblemon.exposed_copper_fridge": "Exposed Copper Fridge",
|
||||
"block.cobblemon.weathered_copper_fridge": "Weathered Copper Fridge",
|
||||
"block.cobblemon.oxidized_copper_fridge": "Oxidized Copper Fridge",
|
||||
"block.cobblemon.waxed_copper_fridge": "Waxed Copper Fridge",
|
||||
"block.cobblemon.waxed_exposed_copper_fridge": "Waxed Exposed Copper Fridge",
|
||||
"block.cobblemon.waxed_weathered_copper_fridge": "Waxed Weathered Copper Fridge",
|
||||
"block.cobblemon.waxed_oxidized_copper_fridge": "Waxed Oxidized Copper Fridge",
|
||||
"block.cobblemon.copper_fan": "Copper Fan",
|
||||
"block.cobblemon.exposed_copper_fan": "Exposed Copper Fan",
|
||||
"block.cobblemon.weathered_copper_fan": "Weathered Copper Fan",
|
||||
"block.cobblemon.oxidized_copper_fan": "Oxidized Copper Fan",
|
||||
"block.cobblemon.waxed_copper_fan": "Waxed Copper Fan",
|
||||
"block.cobblemon.waxed_exposed_copper_fan": "Waxed Exposed Copper Fan",
|
||||
"block.cobblemon.waxed_weathered_copper_fan": "Waxed Weathered Copper Fan",
|
||||
"block.cobblemon.waxed_oxidized_copper_fan": "Waxed Oxidized Copper Fan",
|
||||
"block.cobblemon.copper_mower": "Copper Mower",
|
||||
"block.cobblemon.exposed_copper_mower": "Exposed Copper Mower",
|
||||
"block.cobblemon.weathered_copper_mower": "Weathered Copper Mower",
|
||||
"block.cobblemon.oxidized_copper_mower": "Oxidized Copper Mower",
|
||||
"block.cobblemon.waxed_copper_mower": "Waxed Copper Mower",
|
||||
"block.cobblemon.waxed_exposed_copper_mower": "Waxed Exposed Copper Mower",
|
||||
"block.cobblemon.waxed_weathered_copper_mower": "Waxed Weathered Copper Mower",
|
||||
"block.cobblemon.waxed_oxidized_copper_mower": "Waxed Oxidized Copper Mower",
|
||||
"block.cobblemon.hearty_grain_bale": "Hearty Grain Bale",
|
||||
"block.cobblemon.tatami_block": "Tatami",
|
||||
"block.cobblemon.tatami_mat": "Tatami Mat",
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"format_version": "1.9.0",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/copper_fan",
|
||||
"blades": "cobblemon:block/functional/copper_appliances/copper_fan_blades_slow",
|
||||
"particle": "block/chiseled_copper"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "stand",
|
||||
"from": [6, 0, 6],
|
||||
"to": [10, 2, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 14, 12, 15], "texture": "#texture"},
|
||||
"east": {"uv": [8, 11, 10, 12], "texture": "#texture"},
|
||||
"south": {"uv": [14, 11, 16, 12], "texture": "#texture"},
|
||||
"west": {"uv": [12, 11, 14, 12], "texture": "#texture"},
|
||||
"up": {"uv": [12, 14, 10, 12], "texture": "#texture"},
|
||||
"down": {"uv": [14, 9, 12, 11], "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_bottom",
|
||||
"from": [1, 2, 7],
|
||||
"to": [15, 4, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 2, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 7, 8, 8], "texture": "#texture"},
|
||||
"east": {"uv": [0, 7, 1, 8], "texture": "#texture"},
|
||||
"south": {"uv": [9, 7, 16, 8], "texture": "#texture"},
|
||||
"west": {"uv": [8, 7, 9, 8], "texture": "#texture"},
|
||||
"up": {"uv": [8, 9, 1, 8], "texture": "#texture"},
|
||||
"down": {"uv": [16, 8, 9, 9], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_top",
|
||||
"from": [1, 14, 7],
|
||||
"to": [15, 16, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 14, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 1, 8, 2], "texture": "#texture"},
|
||||
"east": {"uv": [0, 1, 1, 2], "texture": "#texture"},
|
||||
"south": {"uv": [9, 1, 16, 2], "texture": "#texture"},
|
||||
"west": {"uv": [8, 1, 9, 2], "texture": "#texture"},
|
||||
"up": {"uv": [8, 1, 1, 0], "texture": "#texture"},
|
||||
"down": {"uv": [16, 0, 9, 1], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_west",
|
||||
"from": [1, 4, 7],
|
||||
"to": [3, 14, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [1, 4, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 2, 8, 7], "texture": "#texture"},
|
||||
"east": {"uv": [6, 2, 7, 7], "texture": "#texture"},
|
||||
"south": {"uv": [9, 2, 10, 7], "texture": "#texture"},
|
||||
"west": {"uv": [8, 2, 9, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_east",
|
||||
"from": [13, 4, 7],
|
||||
"to": [15, 14, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [13, 4, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 2, 2, 7], "texture": "#texture"},
|
||||
"east": {"uv": [0, 2, 1, 7], "texture": "#texture"},
|
||||
"south": {"uv": [15, 2, 16, 7], "texture": "#texture"},
|
||||
"west": {"uv": [2, 2, 3, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "nose",
|
||||
"from": [7, 8, 7.5],
|
||||
"to": [9, 10, 8.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [4, 4, 5, 5], "texture": "#texture"},
|
||||
"east": {"uv": [3.5, 4, 4, 5], "texture": "#texture"},
|
||||
"west": {"uv": [5, 4, 5.5, 5], "texture": "#texture"},
|
||||
"up": {"uv": [5, 4, 4, 3.5], "texture": "#texture"},
|
||||
"down": {"uv": [5, 5, 4, 5.5], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "blades",
|
||||
"from": [3, 4, 8],
|
||||
"to": [13, 14, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 5, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 10, 10], "texture": "#blades"},
|
||||
"south": {"uv": [10, 0, 0, 10], "texture": "#blades"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "beams",
|
||||
"from": [3, 4, 8.5],
|
||||
"to": [13, 14, 8.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 5, 8.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 2, 10, 7], "texture": "#texture"},
|
||||
"south": {"uv": [10, 2, 15, 7], "texture": "#texture"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"name": "fan",
|
||||
"origin": [7, 6, 7],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [0, 1, 2, 3, 4, 5, 6, 7]
|
||||
}
|
||||
]
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "cobblemon:block/copper_fan_decorative",
|
||||
"textures": {
|
||||
"blades": "cobblemon:block/functional/copper_appliances/copper_fan_blades_fast"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"format_version": "1.9.0",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/copper_fan",
|
||||
"blades": "cobblemon:block/functional/copper_appliances/copper_fan_blades_slow",
|
||||
"particle": "block/chiseled_copper"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "stand",
|
||||
"from": [6, 0, 6],
|
||||
"to": [10, 2, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]},
|
||||
"faces": {
|
||||
"north": {"uv": [12, 14, 14, 15], "texture": "#texture"},
|
||||
"east": {"uv": [8, 11, 10, 12], "texture": "#texture"},
|
||||
"south": {"uv": [14, 11, 16, 12], "texture": "#texture"},
|
||||
"west": {"uv": [12, 11, 14, 12], "texture": "#texture"},
|
||||
"up": {"uv": [14, 14, 12, 12], "texture": "#texture"},
|
||||
"down": {"uv": [14, 9, 12, 11], "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_bottom",
|
||||
"from": [1, 2, 7],
|
||||
"to": [15, 4, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 2, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 7, 8, 8], "texture": "#texture"},
|
||||
"east": {"uv": [0, 7, 1, 8], "texture": "#texture"},
|
||||
"south": {"uv": [9, 7, 16, 8], "texture": "#texture"},
|
||||
"west": {"uv": [8, 7, 9, 8], "texture": "#texture"},
|
||||
"up": {"uv": [8, 9, 1, 8], "texture": "#texture"},
|
||||
"down": {"uv": [16, 8, 9, 9], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_top",
|
||||
"from": [1, 14, 7],
|
||||
"to": [15, 16, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 14, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 1, 8, 2], "texture": "#texture"},
|
||||
"east": {"uv": [0, 1, 1, 2], "texture": "#texture"},
|
||||
"south": {"uv": [9, 1, 16, 2], "texture": "#texture"},
|
||||
"west": {"uv": [8, 1, 9, 2], "texture": "#texture"},
|
||||
"up": {"uv": [8, 1, 1, 0], "texture": "#texture"},
|
||||
"down": {"uv": [16, 0, 9, 1], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_west",
|
||||
"from": [1, 4, 7],
|
||||
"to": [3, 14, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [1, 4, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 2, 8, 7], "texture": "#texture"},
|
||||
"east": {"uv": [6, 2, 7, 7], "texture": "#texture"},
|
||||
"south": {"uv": [9, 2, 10, 7], "texture": "#texture"},
|
||||
"west": {"uv": [8, 2, 9, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_east",
|
||||
"from": [13, 4, 7],
|
||||
"to": [15, 14, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [13, 4, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 2, 2, 7], "texture": "#texture"},
|
||||
"east": {"uv": [0, 2, 1, 7], "texture": "#texture"},
|
||||
"south": {"uv": [15, 2, 16, 7], "texture": "#texture"},
|
||||
"west": {"uv": [2, 2, 3, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "nose",
|
||||
"from": [7, 8, 7.5],
|
||||
"to": [9, 10, 8.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [4, 4, 5, 5], "texture": "#texture"},
|
||||
"east": {"uv": [3.5, 4, 4, 5], "texture": "#texture"},
|
||||
"west": {"uv": [5, 4, 5.5, 5], "texture": "#texture"},
|
||||
"up": {"uv": [5, 4, 4, 3.5], "texture": "#texture"},
|
||||
"down": {"uv": [5, 5, 4, 5.5], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "blades",
|
||||
"from": [3, 4, 8],
|
||||
"to": [13, 14, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 5, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 10, 10], "texture": "#blades"},
|
||||
"south": {"uv": [10, 0, 0, 10], "texture": "#blades"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "beams",
|
||||
"from": [3, 4, 8.5],
|
||||
"to": [13, 14, 8.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 5, 8.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 2, 10, 7], "texture": "#texture"},
|
||||
"south": {"uv": [10, 2, 15, 7], "texture": "#texture"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"name": "fan",
|
||||
"origin": [7, 6, 7],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [0, 1, 2, 3, 4, 5, 6, 7]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "cobblemon:block/copper_fan_pushing",
|
||||
"textures": {
|
||||
"blades": "cobblemon:block/functional/copper_appliances/copper_fan_blades_fast"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"format_version": "1.9.0",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/copper_fan",
|
||||
"blades": "cobblemon:block/functional/copper_appliances/copper_fan_blades_unpowered",
|
||||
"particle": "block/chiseled_copper"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "stand",
|
||||
"from": [6, 0, 6],
|
||||
"to": [10, 2, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 11, 12, 12], "texture": "#texture"},
|
||||
"east": {"uv": [8, 11, 10, 12], "texture": "#texture"},
|
||||
"south": {"uv": [14, 11, 16, 12], "texture": "#texture"},
|
||||
"west": {"uv": [12, 11, 14, 12], "texture": "#texture"},
|
||||
"up": {"uv": [12, 11, 10, 9], "texture": "#texture"},
|
||||
"down": {"uv": [14, 9, 12, 11], "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_bottom",
|
||||
"from": [1, 2, 7],
|
||||
"to": [15, 4, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 2, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 7, 8, 8], "texture": "#texture"},
|
||||
"east": {"uv": [0, 7, 1, 8], "texture": "#texture"},
|
||||
"south": {"uv": [9, 7, 16, 8], "texture": "#texture"},
|
||||
"west": {"uv": [8, 7, 9, 8], "texture": "#texture"},
|
||||
"up": {"uv": [8, 9, 1, 8], "texture": "#texture"},
|
||||
"down": {"uv": [16, 8, 9, 9], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_top",
|
||||
"from": [1, 14, 7],
|
||||
"to": [15, 16, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 14, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 1, 8, 2], "texture": "#texture"},
|
||||
"east": {"uv": [0, 1, 1, 2], "texture": "#texture"},
|
||||
"south": {"uv": [9, 1, 16, 2], "texture": "#texture"},
|
||||
"west": {"uv": [8, 1, 9, 2], "texture": "#texture"},
|
||||
"up": {"uv": [8, 1, 1, 0], "texture": "#texture"},
|
||||
"down": {"uv": [16, 0, 9, 1], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_west",
|
||||
"from": [1, 4, 7],
|
||||
"to": [3, 14, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [1, 4, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 2, 8, 7], "texture": "#texture"},
|
||||
"east": {"uv": [6, 2, 7, 7], "texture": "#texture"},
|
||||
"south": {"uv": [9, 2, 10, 7], "texture": "#texture"},
|
||||
"west": {"uv": [8, 2, 9, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_east",
|
||||
"from": [13, 4, 7],
|
||||
"to": [15, 14, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [13, 4, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 2, 2, 7], "texture": "#texture"},
|
||||
"east": {"uv": [0, 2, 1, 7], "texture": "#texture"},
|
||||
"south": {"uv": [15, 2, 16, 7], "texture": "#texture"},
|
||||
"west": {"uv": [2, 2, 3, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "nose",
|
||||
"from": [7, 8, 7.5],
|
||||
"to": [9, 10, 8.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [4, 4, 5, 5], "texture": "#texture"},
|
||||
"east": {"uv": [3.5, 4, 4, 5], "texture": "#texture"},
|
||||
"west": {"uv": [5, 4, 5.5, 5], "texture": "#texture"},
|
||||
"up": {"uv": [5, 4, 4, 3.5], "texture": "#texture"},
|
||||
"down": {"uv": [5, 5, 4, 5.5], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "blades",
|
||||
"from": [3, 4, 8],
|
||||
"to": [13, 14, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 5, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 10, 10], "texture": "#blades"},
|
||||
"south": {"uv": [10, 0, 0, 10], "texture": "#blades"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "beams",
|
||||
"from": [3, 4, 8.5],
|
||||
"to": [13, 14, 8.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 5, 8.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 2, 10, 7], "texture": "#texture"},
|
||||
"south": {"uv": [10, 2, 15, 7], "texture": "#texture"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [75, 45, 0],
|
||||
"translation": [0, 1.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [75, 45, 0],
|
||||
"translation": [0, 1.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [0, 45, 0],
|
||||
"translation": [1, 0, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [0, -135, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, 3, 0],
|
||||
"scale": [0.25, 0.25, 0.25]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, -135, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"fixed": {
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
},
|
||||
"groups": [
|
||||
{
|
||||
"name": "fan",
|
||||
"origin": [7, 6, 7],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [0, 1, 2, 3, 4, 5, 6, 7]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"format_version": "1.9.0",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [64, 64],
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/copper_fridge",
|
||||
"particle": "block/chiseled_copper"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "back",
|
||||
"from": [0, 1, 1],
|
||||
"to": [16, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [0, 1, 0]},
|
||||
"faces": {
|
||||
"north": {"uv": [3.75, 7.75, 7.75, 11.5], "texture": "#texture"},
|
||||
"east": {"uv": [0, 7.75, 3.75, 11.5], "texture": "#texture", "cullface": "east"},
|
||||
"south": {"uv": [11.5, 7.75, 15.5, 11.5], "texture": "#texture", "cullface": "south"},
|
||||
"west": {"uv": [7.75, 7.75, 11.5, 11.5], "texture": "#texture", "cullface": "west"},
|
||||
"down": {"uv": [11.75, 0, 7.75, 3.75], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "feet",
|
||||
"from": [1, 0, 2],
|
||||
"to": [15, 1, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [1, 0, 2]},
|
||||
"faces": {
|
||||
"north": {"uv": [4.5, 15, 8, 15.25], "texture": "#texture"},
|
||||
"east": {"uv": [1.25, 15, 4.5, 15.25], "texture": "#texture"},
|
||||
"south": {"uv": [11.25, 15, 14.75, 15.25], "texture": "#texture"},
|
||||
"west": {"uv": [8, 15, 11.25, 15.25], "texture": "#texture"},
|
||||
"down": {"uv": [11.5, 11.75, 8, 15], "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [75, 135, 0],
|
||||
"translation": [0, 2.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [75, 135, 0],
|
||||
"translation": [0, 2.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [0, 135, 0],
|
||||
"translation": [0, -1, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [0, 135, 0],
|
||||
"translation": [0, -1, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, 3, 0],
|
||||
"scale": [0.25, 0.25, 0.25]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, -135, 0],
|
||||
"translation": [0, -3, 0],
|
||||
"scale": [0.425, 0.425, 0.425]
|
||||
},
|
||||
"fixed": {
|
||||
"translation": [0, -3.75, 0],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
},
|
||||
"on_shelf": {
|
||||
"rotation": [0, -180, 0]
|
||||
}
|
||||
},
|
||||
"groups": [
|
||||
{
|
||||
"name": "fridge",
|
||||
"origin": [8, 0, 8],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [
|
||||
{
|
||||
"name": "fridge_bottom",
|
||||
"origin": [8, 8, 8],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [
|
||||
0,
|
||||
1,
|
||||
{
|
||||
"name": "drawer",
|
||||
"origin": [8, 8, 8],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "door_west2",
|
||||
"origin": [0, 16, 5],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"name": "door_east2",
|
||||
"origin": [16, 16, 5],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"format_version": "1.9.0",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [64, 64],
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/copper_fridge",
|
||||
"particle": "block/chiseled_copper"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 1],
|
||||
"to": [16, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [0, -16, 0]},
|
||||
"faces": {
|
||||
"north": {"uv": [3.75, 3.75, 7.75, 7.75], "texture": "#texture"},
|
||||
"east": {"uv": [0, 3.75, 3.75, 7.75], "texture": "#texture", "cullface": "east"},
|
||||
"south": {"uv": [11.5, 3.75, 15.5, 7.75], "texture": "#texture", "cullface": "south"},
|
||||
"west": {"uv": [7.75, 3.75, 11.5, 7.75], "texture": "#texture", "cullface": "west"},
|
||||
"up": {"uv": [7.75, 3.75, 3.75, 0], "texture": "#texture", "cullface": "up"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4, 2, 0],
|
||||
"to": [6, 5, 1],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 2, 0]},
|
||||
"faces": {
|
||||
"north": {"uv": [1.5, 0.25, 2, 1], "texture": "#texture"},
|
||||
"east": {"uv": [1.25, 0.25, 1.5, 1], "texture": "#texture"},
|
||||
"west": {"uv": [2, 0.25, 2.25, 1], "texture": "#texture"},
|
||||
"up": {"uv": [2, 0.25, 1.5, 0], "texture": "#texture"},
|
||||
"down": {"uv": [2.5, 0, 2, 0.25], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10, 2, 0],
|
||||
"to": [12, 5, 1],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [10, 2, 0]},
|
||||
"faces": {
|
||||
"north": {"uv": [0.25, 0.25, 0.75, 1], "texture": "#texture"},
|
||||
"east": {"uv": [0, 0.25, 0.25, 1], "texture": "#texture"},
|
||||
"west": {"uv": [0.75, 0.25, 1, 1], "texture": "#texture"},
|
||||
"up": {"uv": [0.75, 0.25, 0.25, 0], "texture": "#texture"},
|
||||
"down": {"uv": [1.25, 0, 0.75, 0.25], "texture": "#texture"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,160 @@
|
||||
{
|
||||
"format_version": "1.21.11",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [64, 32],
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/copper_mower",
|
||||
"particle": "block/chiseled_copper"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [1, 0, 10],
|
||||
"to": [15, 10, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 0, 11]},
|
||||
"faces": {
|
||||
"north": {"uv": [1.5, 3, 5, 8], "texture": "#texture"},
|
||||
"east": {"uv": [0, 3, 1.5, 8], "texture": "#texture"},
|
||||
"south": {"uv": [6.5, 3, 10, 8], "texture": "#texture", "cullface": "south"},
|
||||
"west": {"uv": [5, 3, 6.5, 8], "texture": "#texture"},
|
||||
"up": {"uv": [5, 3, 1.5, 0], "texture": "#texture"},
|
||||
"down": {"uv": [8.5, 0, 5, 3], "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3, 0, 0],
|
||||
"to": [13, 6, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 1]},
|
||||
"faces": {
|
||||
"north": {"uv": [2.5, 13, 5, 16], "texture": "#texture"},
|
||||
"east": {"uv": [0, 13, 2.5, 16], "texture": "#texture"},
|
||||
"west": {"uv": [5, 13, 7.5, 16], "texture": "#texture"},
|
||||
"up": {"uv": [5, 13, 2.5, 8], "texture": "#texture"},
|
||||
"down": {"uv": [7.5, 8, 5, 13], "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 0, 3],
|
||||
"to": [3, 5, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 2.5, 5.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [14.25, 3, 14.5, 5.5], "texture": "#texture"},
|
||||
"south": {"uv": [15.75, 3, 16, 5.5], "texture": "#texture"},
|
||||
"west": {"uv": [14.5, 3, 15.75, 5.5], "texture": "#texture"},
|
||||
"up": {"uv": [14.5, 3, 14.25, 0.5], "texture": "#texture"},
|
||||
"down": {"uv": [14.75, 0.5, 14.5, 3], "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 3],
|
||||
"to": [14, 5, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 2.5, 5.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [11.25, 3, 11.5, 5.5], "texture": "#texture"},
|
||||
"east": {"uv": [10, 3, 11.25, 5.5], "texture": "#texture"},
|
||||
"south": {"uv": [12.75, 3, 13, 5.5], "texture": "#texture"},
|
||||
"up": {"uv": [11.5, 3, 11.25, 0.5], "texture": "#texture"},
|
||||
"down": {"uv": [11.75, 0.5, 11.5, 3], "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6.5, 6, 4.5],
|
||||
"to": [9.5, 10, 7.5],
|
||||
"rotation": {"angle": 22.5, "axis": "x", "origin": [8, 6, 4.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [12.25, 13, 13, 15], "texture": "#texture"},
|
||||
"east": {"uv": [11.5, 13, 12.25, 15], "texture": "#texture"},
|
||||
"south": {"uv": [13.75, 13, 14.5, 15], "texture": "#texture"},
|
||||
"west": {"uv": [13, 13, 13.75, 15], "texture": "#texture"},
|
||||
"up": {"uv": [13, 13, 12.25, 11.5], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7, 10, 5],
|
||||
"to": [9, 15, 7],
|
||||
"rotation": {"angle": 22.5, "axis": "x", "origin": [8, 6, 4.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [12.5, 9, 13, 11.5], "texture": "#texture"},
|
||||
"east": {"uv": [12, 9, 12.5, 11.5], "texture": "#texture"},
|
||||
"south": {"uv": [13.5, 9, 14, 11.5], "texture": "#texture"},
|
||||
"west": {"uv": [13, 9, 13.5, 11.5], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4, 15, 5],
|
||||
"to": [12, 17, 7],
|
||||
"rotation": {"angle": 22.5, "axis": "x", "origin": [8, 6, 4.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [11, 7, 13, 8], "texture": "#texture"},
|
||||
"east": {"uv": [10.5, 7, 11, 8], "texture": "#texture"},
|
||||
"south": {"uv": [13.5, 7, 15.5, 8], "texture": "#texture"},
|
||||
"west": {"uv": [13, 7, 13.5, 8], "texture": "#texture"},
|
||||
"up": {"uv": [13, 7, 11, 6], "texture": "#texture"},
|
||||
"down": {"uv": [15, 6, 13, 7], "texture": "#texture"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [75, 45, 0],
|
||||
"translation": [0, 2.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [75, 45, 0],
|
||||
"translation": [0, 2.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [0, 45, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [0, 45, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, 3, 0],
|
||||
"scale": [0.25, 0.25, 0.25]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, -135, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"head": {
|
||||
"translation": [0, 14.25, 0]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [0, 90, 0],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
},
|
||||
"on_shelf": {
|
||||
"rotation": [0, -180, 0]
|
||||
}
|
||||
},
|
||||
"groups": [
|
||||
{
|
||||
"name": "mower",
|
||||
"origin": [8, 0, 8],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [
|
||||
0,
|
||||
1,
|
||||
{
|
||||
"name": "wheels",
|
||||
"origin": [8, 2, 6],
|
||||
"scope": 0,
|
||||
"color": 4,
|
||||
"children": [2, 3]
|
||||
},
|
||||
{
|
||||
"name": "handle",
|
||||
"origin": [8, 6, 4.5],
|
||||
"scope": 0,
|
||||
"color": 1,
|
||||
"children": [4, 5, 6]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,167 @@
|
||||
{
|
||||
"format_version": "1.9.0",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [64, 32],
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/copper_oven",
|
||||
"particle": "block/chiseled_copper"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "west",
|
||||
"from": [1, 0, 5],
|
||||
"to": [2, 10, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [8, 6.5, 8.25, 11.5], "texture": "#texture"},
|
||||
"east": {"uv": [5.5, 6.5, 8, 11.5], "texture": "#texture"},
|
||||
"south": {"uv": [10.75, 6.5, 11, 11.5], "texture": "#texture"},
|
||||
"west": {"uv": [8.25, 6.5, 10.75, 11.5], "texture": "#texture"},
|
||||
"up": {"uv": [8.25, 6.5, 5.75, 6], "rotation": 90, "texture": "#texture"},
|
||||
"down": {"uv": [8.25, 6.5, 10.75, 6], "rotation": 90, "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "east",
|
||||
"from": [14, 0, 5],
|
||||
"to": [15, 10, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [20, 5, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [2.5, 6.5, 2.75, 11.5], "texture": "#texture"},
|
||||
"east": {"uv": [0, 6.5, 2.5, 11.5], "texture": "#texture"},
|
||||
"south": {"uv": [5.25, 6.5, 5.5, 11.5], "texture": "#texture"},
|
||||
"west": {"uv": [2.75, 6.5, 5.25, 11.5], "texture": "#texture"},
|
||||
"up": {"uv": [2.75, 6.5, 0.25, 6], "rotation": 90, "texture": "#texture"},
|
||||
"down": {"uv": [2.75, 6.5, 5.25, 6], "rotation": 90, "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "bottom",
|
||||
"from": [2, 0, 5],
|
||||
"to": [14, 1, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [9, 5, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 5, 13, 5.5], "texture": "#texture"},
|
||||
"south": {"uv": [13, 5, 16, 5.5], "texture": "#texture"},
|
||||
"up": {"uv": [13, 5, 10, 0], "texture": "#texture"},
|
||||
"down": {"uv": [16, 0, 13, 5], "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "top",
|
||||
"from": [2, 8, 5],
|
||||
"to": [14, 10, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 5, 3, 6], "texture": "#texture"},
|
||||
"south": {"uv": [3, 5, 6, 6], "texture": "#texture"},
|
||||
"up": {"uv": [3, 5, 0, 0], "texture": "#texture"},
|
||||
"down": {"uv": [6, 0, 3, 5], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "back",
|
||||
"from": [2, 1, 14],
|
||||
"to": [14, 8, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 11.5, 13, 15], "texture": "#texture"},
|
||||
"south": {"uv": [13, 11.5, 16, 15], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4.5, 1, 6.5],
|
||||
"to": [11.5, 2, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1.5, 9.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [11.25, 10.5, 13, 11], "texture": "#texture"},
|
||||
"east": {"uv": [11, 7, 11.25, 10.5], "rotation": 90, "texture": "#texture"},
|
||||
"south": {"uv": [11.25, 6.5, 13, 7], "rotation": 180, "texture": "#texture"},
|
||||
"west": {"uv": [13, 7, 13.25, 10.5], "rotation": 90, "texture": "#texture"},
|
||||
"up": {"uv": [13, 10.5, 11.25, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 1, 5],
|
||||
"to": [14, 8, 6],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 5]},
|
||||
"faces": {
|
||||
"north": {"uv": [4.75, 15, 7.75, 11.5], "texture": "#texture"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [75, 45, 0],
|
||||
"translation": [0, 2.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [75, 45, 0],
|
||||
"translation": [0, 2.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [0, 45, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [0, -135, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, 3, 0],
|
||||
"scale": [0.25, 0.25, 0.25]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, -135, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"head": {
|
||||
"translation": [0, 14.5, 0]
|
||||
},
|
||||
"fixed": {
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
},
|
||||
"on_shelf": {
|
||||
"rotation": [0, -180, 0]
|
||||
}
|
||||
},
|
||||
"groups": [
|
||||
{
|
||||
"name": "shell",
|
||||
"origin": [8, 5, 9],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
{
|
||||
"name": "table",
|
||||
"origin": [8, 5, 9],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [5]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "door",
|
||||
"origin": [8, 8, 8],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [
|
||||
{
|
||||
"name": "closed",
|
||||
"origin": [8, 8, 8],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [6]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,172 @@
|
||||
{
|
||||
"format_version": "1.9.0",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [64, 32],
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/copper_oven",
|
||||
"particle": "block/chiseled_copper"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "west",
|
||||
"from": [1, 0, 5],
|
||||
"to": [2, 10, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [8, 6.5, 8.25, 11.5], "texture": "#texture"},
|
||||
"east": {"uv": [5.5, 6.5, 8, 11.5], "texture": "#texture"},
|
||||
"south": {"uv": [10.75, 6.5, 11, 11.5], "texture": "#texture"},
|
||||
"west": {"uv": [8.25, 6.5, 10.75, 11.5], "texture": "#texture"},
|
||||
"up": {"uv": [8.25, 6.5, 5.75, 6], "rotation": 90, "texture": "#texture"},
|
||||
"down": {"uv": [8.25, 6.5, 10.75, 6], "rotation": 90, "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "east",
|
||||
"from": [14, 0, 5],
|
||||
"to": [15, 10, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [20, 5, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [2.5, 6.5, 2.75, 11.5], "texture": "#texture"},
|
||||
"east": {"uv": [0, 6.5, 2.5, 11.5], "texture": "#texture"},
|
||||
"south": {"uv": [5.25, 6.5, 5.5, 11.5], "texture": "#texture"},
|
||||
"west": {"uv": [2.75, 6.5, 5.25, 11.5], "texture": "#texture"},
|
||||
"up": {"uv": [2.75, 6.5, 0.25, 6], "rotation": 90, "texture": "#texture"},
|
||||
"down": {"uv": [2.75, 6.5, 5.25, 6], "rotation": 90, "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "bottom",
|
||||
"from": [2, 0, 5],
|
||||
"to": [14, 1, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [9, 5, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 5, 13, 5.5], "texture": "#texture"},
|
||||
"south": {"uv": [13, 5, 16, 5.5], "texture": "#texture"},
|
||||
"up": {"uv": [13, 5, 10, 0], "texture": "#texture"},
|
||||
"down": {"uv": [16, 0, 13, 5], "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "top",
|
||||
"from": [2, 8, 5],
|
||||
"to": [14, 10, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 5, 3, 6], "texture": "#texture"},
|
||||
"south": {"uv": [3, 5, 6, 6], "texture": "#texture"},
|
||||
"up": {"uv": [3, 5, 0, 0], "texture": "#texture"},
|
||||
"down": {"uv": [6, 0, 3, 5], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "back",
|
||||
"from": [2, 1, 14],
|
||||
"to": [14, 8, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 11.5, 13, 15], "texture": "#texture"},
|
||||
"south": {"uv": [13, 11.5, 16, 15], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4.5, 1, 6.5],
|
||||
"to": [11.5, 2, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1.5, 9.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [11.25, 10.5, 13, 11], "texture": "#texture"},
|
||||
"east": {"uv": [11, 7, 11.25, 10.5], "rotation": 90, "texture": "#texture"},
|
||||
"south": {"uv": [11.25, 6.5, 13, 7], "rotation": 180, "texture": "#texture"},
|
||||
"west": {"uv": [13, 7, 13.25, 10.5], "rotation": 90, "texture": "#texture"},
|
||||
"up": {"uv": [13, 10.5, 11.25, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 1, -1],
|
||||
"to": [14, 2, 6],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 6]},
|
||||
"faces": {
|
||||
"north": {"uv": [1.75, 15, 4.75, 15.5], "texture": "#texture"},
|
||||
"east": {"uv": [0, 15, 1.75, 15.5], "texture": "#texture"},
|
||||
"south": {"uv": [6.5, 15, 9.5, 15.5], "texture": "#texture"},
|
||||
"west": {"uv": [4.75, 15, 6.5, 15.5], "texture": "#texture"},
|
||||
"up": {"uv": [4.75, 15, 1.75, 11.5], "texture": "#texture"},
|
||||
"down": {"uv": [7.75, 11.5, 4.75, 15], "texture": "#texture"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [75, 45, 0],
|
||||
"translation": [0, 2.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [75, 45, 0],
|
||||
"translation": [0, 2.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [0, 45, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [0, -135, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, 3, 0],
|
||||
"scale": [0.25, 0.25, 0.25]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, -135, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"head": {
|
||||
"translation": [0, 14.5, 0]
|
||||
},
|
||||
"fixed": {
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
},
|
||||
"on_shelf": {
|
||||
"rotation": [0, -180, 0]
|
||||
}
|
||||
},
|
||||
"groups": [
|
||||
{
|
||||
"name": "shell",
|
||||
"origin": [8, 5, 9],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
{
|
||||
"name": "table",
|
||||
"origin": [8, 5, 9],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [5]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "door",
|
||||
"origin": [8, 8, 8],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [
|
||||
{
|
||||
"name": "open",
|
||||
"origin": [8, 8, 8],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [6]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
+106
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"format_version": "1.9.0",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/copper_fan",
|
||||
"blades": "cobblemon:block/functional/copper_appliances/copper_fan_blades_slow",
|
||||
"particle": "block/chiseled_copper"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "frame_bottom",
|
||||
"from": [1, 1, 14],
|
||||
"to": [15, 3, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 1, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 12.5, 8, 13.5], "texture": "#texture"},
|
||||
"east": {"uv": [0, 7, 1, 8], "texture": "#texture"},
|
||||
"south": {"uv": [9, 7, 16, 8], "texture": "#texture"},
|
||||
"west": {"uv": [8, 7, 9, 8], "texture": "#texture"},
|
||||
"up": {"uv": [8, 9, 1, 8], "texture": "#texture"},
|
||||
"down": {"uv": [16, 8, 9, 9], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_top",
|
||||
"from": [1, 13, 14],
|
||||
"to": [15, 15, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 13, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 1, 8, 2], "texture": "#texture"},
|
||||
"east": {"uv": [0, 1, 1, 2], "texture": "#texture"},
|
||||
"south": {"uv": [9, 1, 16, 2], "texture": "#texture"},
|
||||
"west": {"uv": [8, 1, 9, 2], "texture": "#texture"},
|
||||
"up": {"uv": [8, 1, 1, 0], "texture": "#texture"},
|
||||
"down": {"uv": [16, 0, 9, 1], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_west",
|
||||
"from": [1, 3, 14],
|
||||
"to": [3, 13, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [1, 3, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 2, 8, 7], "texture": "#texture"},
|
||||
"east": {"uv": [6, 2, 7, 7], "texture": "#texture"},
|
||||
"south": {"uv": [9, 2, 10, 7], "texture": "#texture"},
|
||||
"west": {"uv": [8, 2, 9, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_east",
|
||||
"from": [13, 3, 14],
|
||||
"to": [15, 13, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [13, 3, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 2, 2, 7], "texture": "#texture"},
|
||||
"east": {"uv": [0, 2, 1, 7], "texture": "#texture"},
|
||||
"south": {"uv": [15, 2, 16, 7], "texture": "#texture"},
|
||||
"west": {"uv": [2, 2, 3, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "nose",
|
||||
"from": [7, 7, 14.5],
|
||||
"to": [9, 9, 15.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [4, 4, 5, 5], "texture": "#texture"},
|
||||
"east": {"uv": [3.5, 4, 4, 5], "texture": "#texture"},
|
||||
"west": {"uv": [5, 4, 5.5, 5], "texture": "#texture"},
|
||||
"up": {"uv": [5, 4, 4, 3.5], "texture": "#texture"},
|
||||
"down": {"uv": [5, 5, 4, 5.5], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "blades",
|
||||
"from": [3, 3, 15],
|
||||
"to": [13, 13, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 15]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 10, 10], "texture": "#blades"},
|
||||
"south": {"uv": [10, 0, 0, 10], "texture": "#blades"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "beams",
|
||||
"from": [3, 3, 15.5],
|
||||
"to": [13, 13, 15.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 15.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 2, 10, 7], "texture": "#texture"},
|
||||
"south": {"uv": [10, 2, 15, 7], "texture": "#texture"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"name": "fan",
|
||||
"origin": [7, 6, 7],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [0, 1, 2, 3, 4, 5, 6]
|
||||
}
|
||||
]
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "cobblemon:block/copper_fan_decorative",
|
||||
"textures": {
|
||||
"blades": "cobblemon:block/functional/copper_appliances/copper_fan_blades_fast"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"format_version": "1.9.0",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/copper_fan",
|
||||
"blades": "cobblemon:block/functional/copper_appliances/copper_fan_blades_slow",
|
||||
"particle": "block/chiseled_copper"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "frame_bottom",
|
||||
"from": [1, 1, 14],
|
||||
"to": [15, 3, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 1, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 11, 8, 12], "texture": "#texture"},
|
||||
"east": {"uv": [0, 7, 1, 8], "texture": "#texture"},
|
||||
"south": {"uv": [9, 7, 16, 8], "texture": "#texture"},
|
||||
"west": {"uv": [8, 7, 9, 8], "texture": "#texture"},
|
||||
"up": {"uv": [8, 9, 1, 8], "texture": "#texture"},
|
||||
"down": {"uv": [16, 8, 9, 9], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_top",
|
||||
"from": [1, 13, 14],
|
||||
"to": [15, 15, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 13, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 1, 8, 2], "texture": "#texture"},
|
||||
"east": {"uv": [0, 1, 1, 2], "texture": "#texture"},
|
||||
"south": {"uv": [9, 1, 16, 2], "texture": "#texture"},
|
||||
"west": {"uv": [8, 1, 9, 2], "texture": "#texture"},
|
||||
"up": {"uv": [8, 1, 1, 0], "texture": "#texture"},
|
||||
"down": {"uv": [16, 0, 9, 1], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_west",
|
||||
"from": [1, 3, 14],
|
||||
"to": [3, 13, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [1, 3, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 2, 8, 7], "texture": "#texture"},
|
||||
"east": {"uv": [6, 2, 7, 7], "texture": "#texture"},
|
||||
"south": {"uv": [9, 2, 10, 7], "texture": "#texture"},
|
||||
"west": {"uv": [8, 2, 9, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_east",
|
||||
"from": [13, 3, 14],
|
||||
"to": [15, 13, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [13, 3, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 2, 2, 7], "texture": "#texture"},
|
||||
"east": {"uv": [0, 2, 1, 7], "texture": "#texture"},
|
||||
"south": {"uv": [15, 2, 16, 7], "texture": "#texture"},
|
||||
"west": {"uv": [2, 2, 3, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "nose",
|
||||
"from": [7, 7, 14.5],
|
||||
"to": [9, 9, 15.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [4, 4, 5, 5], "texture": "#texture"},
|
||||
"east": {"uv": [3.5, 4, 4, 5], "texture": "#texture"},
|
||||
"west": {"uv": [5, 4, 5.5, 5], "texture": "#texture"},
|
||||
"up": {"uv": [5, 4, 4, 3.5], "texture": "#texture"},
|
||||
"down": {"uv": [5, 5, 4, 5.5], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "blades",
|
||||
"from": [3, 3, 15],
|
||||
"to": [13, 13, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 15]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 10, 10], "texture": "#blades"},
|
||||
"south": {"uv": [10, 0, 0, 10], "texture": "#blades"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "beams",
|
||||
"from": [3, 3, 15.5],
|
||||
"to": [13, 13, 15.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 15.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 2, 10, 7], "texture": "#texture"},
|
||||
"south": {"uv": [10, 2, 15, 7], "texture": "#texture"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"name": "fan",
|
||||
"origin": [7, 6, 7],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [0, 1, 2, 3, 4, 5, 6]
|
||||
}
|
||||
]
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "cobblemon:block/copper_fan_pushing",
|
||||
"textures": {
|
||||
"blades": "cobblemon:block/functional/copper_appliances/copper_fan_blades_fast"
|
||||
}
|
||||
}
|
||||
+106
@@ -0,0 +1,106 @@
|
||||
{
|
||||
"format_version": "1.9.0",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/copper_fan",
|
||||
"blades": "cobblemon:block/functional/copper_appliances/copper_fan_blades_unpowered",
|
||||
"particle": "block/chiseled_copper"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "frame_bottom",
|
||||
"from": [1, 1, 14],
|
||||
"to": [15, 3, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 1, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 9.5, 8, 10.5], "texture": "#texture"},
|
||||
"east": {"uv": [0, 7, 1, 8], "texture": "#texture"},
|
||||
"south": {"uv": [9, 7, 16, 8], "texture": "#texture"},
|
||||
"west": {"uv": [8, 7, 9, 8], "texture": "#texture"},
|
||||
"up": {"uv": [8, 9, 1, 8], "texture": "#texture"},
|
||||
"down": {"uv": [16, 8, 9, 9], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_top",
|
||||
"from": [1, 13, 14],
|
||||
"to": [15, 15, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 13, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 1, 8, 2], "texture": "#texture"},
|
||||
"east": {"uv": [0, 1, 1, 2], "texture": "#texture"},
|
||||
"south": {"uv": [9, 1, 16, 2], "texture": "#texture"},
|
||||
"west": {"uv": [8, 1, 9, 2], "texture": "#texture"},
|
||||
"up": {"uv": [8, 1, 1, 0], "texture": "#texture"},
|
||||
"down": {"uv": [16, 0, 9, 1], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_west",
|
||||
"from": [1, 3, 14],
|
||||
"to": [3, 13, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [1, 3, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 2, 8, 7], "texture": "#texture"},
|
||||
"east": {"uv": [6, 2, 7, 7], "texture": "#texture"},
|
||||
"south": {"uv": [9, 2, 10, 7], "texture": "#texture"},
|
||||
"west": {"uv": [8, 2, 9, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "frame_east",
|
||||
"from": [13, 3, 14],
|
||||
"to": [15, 13, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [13, 3, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 2, 2, 7], "texture": "#texture"},
|
||||
"east": {"uv": [0, 2, 1, 7], "texture": "#texture"},
|
||||
"south": {"uv": [15, 2, 16, 7], "texture": "#texture"},
|
||||
"west": {"uv": [2, 2, 3, 7], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "nose",
|
||||
"from": [7, 7, 14.5],
|
||||
"to": [9, 9, 15.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [4, 4, 5, 5], "texture": "#texture"},
|
||||
"east": {"uv": [3.5, 4, 4, 5], "texture": "#texture"},
|
||||
"west": {"uv": [5, 4, 5.5, 5], "texture": "#texture"},
|
||||
"up": {"uv": [5, 4, 4, 3.5], "texture": "#texture"},
|
||||
"down": {"uv": [5, 5, 4, 5.5], "texture": "#texture"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "blades",
|
||||
"from": [3, 3, 15],
|
||||
"to": [13, 13, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 15]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 10, 10], "texture": "#blades"},
|
||||
"south": {"uv": [10, 0, 0, 10], "texture": "#blades"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "beams",
|
||||
"from": [3, 3, 15.5],
|
||||
"to": [13, 13, 15.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 15.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 2, 10, 7], "texture": "#texture"},
|
||||
"south": {"uv": [10, 2, 15, 7], "texture": "#texture"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"name": "fan",
|
||||
"origin": [7, 6, 7],
|
||||
"scope": 0,
|
||||
"color": 0,
|
||||
"children": [0, 1, 2, 3, 4, 5, 6]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"format_version": "1.9.0",
|
||||
"credit": "Made with Blockbench",
|
||||
"ambientocclusion": true,
|
||||
"texture_size": [64, 32],
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/copper_washer",
|
||||
"particle": "block/chiseled_copper"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "tub",
|
||||
"from": [1, 0, 2],
|
||||
"to": [15, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2, 0, 3]},
|
||||
"faces": {
|
||||
"north": {"uv": [3.5, 8, 7, 16], "texture": "#texture"},
|
||||
"east": {"uv": [0, 8, 3.5, 16], "texture": "#texture"},
|
||||
"south": {"uv": [10.5, 8, 14, 16], "texture": "#texture", "cullface": "south"},
|
||||
"west": {"uv": [7, 8, 10.5, 16], "texture": "#texture"},
|
||||
"up": {"uv": [7, 8, 3.5, 1], "texture": "#texture", "cullface": "up"},
|
||||
"down": {"uv": [10.5, 1, 7, 8], "texture": "#texture", "cullface": "down"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [75, 45, 0],
|
||||
"translation": [0, 2.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [75, 45, 0],
|
||||
"translation": [0, 2.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [0, 45, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [0, 45, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, 3, 0],
|
||||
"scale": [0.25, 0.25, 0.25]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, -135, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"head": {
|
||||
"translation": [0, 0, -1]
|
||||
},
|
||||
"fixed": {
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
},
|
||||
"on_shelf": {
|
||||
"rotation": [0, -180, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "cobblemon:block/copper_fan_decorative",
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/exposed_copper_fan",
|
||||
"particle": "block/exposed_chiseled_copper"
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "cobblemon:block/copper_fan_decorative_strong",
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/exposed_copper_fan",
|
||||
"particle": "block/exposed_chiseled_copper"
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "cobblemon:block/copper_fan_pushing",
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/exposed_copper_fan",
|
||||
"particle": "block/exposed_chiseled_copper"
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "cobblemon:block/copper_fan_pushing_strong",
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/exposed_copper_fan",
|
||||
"particle": "block/exposed_chiseled_copper"
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "cobblemon:block/copper_fan_unpowered",
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/exposed_copper_fan",
|
||||
"particle": "block/exposed_chiseled_copper"
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "cobblemon:block/copper_fridge_bottom",
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/exposed_copper_fridge",
|
||||
"particle": "block/exposed_chiseled_copper"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "cobblemon:block/copper_fridge_top",
|
||||
"textures": {
|
||||
"texture": "cobblemon:block/functional/copper_appliances/exposed_copper_fridge",
|
||||
"particle": "block/exposed_chiseled_copper"
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user