mirror of
https://gitlab.com/cable-mc/cobblemon.git
synced 2026-11-04 15:28:52 -05:00
Compare commits
117
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30404192bd | ||
|
|
5b3566a2b5 | ||
|
|
1feeab6f87 | ||
|
|
99e0a26d7b | ||
|
|
71753df513 | ||
|
|
729f080f6e | ||
|
|
13eb57afb1 | ||
|
|
72b6cb06ff | ||
|
|
74a57eb972 | ||
|
|
7246c7f8e6 | ||
|
|
cd05f741ae | ||
|
|
00222d929d | ||
|
|
b8f4637cb3 | ||
|
|
9f572250f5 | ||
|
|
0927d6fa43 | ||
|
|
a293b3d71f | ||
|
|
162b1cc68f | ||
|
|
67f906dec2 | ||
|
|
0570afbe05 | ||
|
|
dfba2d27ab | ||
|
|
9c7cd4b616 | ||
|
|
9fe0e9c87e | ||
|
|
bd0e5a44bd | ||
|
|
229ec4176b | ||
|
|
323413efdc | ||
|
|
a309cc2522 | ||
|
|
cb782a2aa1 | ||
|
|
2c58dcb8ef | ||
|
|
d91cd4322c | ||
|
|
e48e492392 | ||
|
|
1f93994eba | ||
|
|
5210121b3d | ||
|
|
7fa3bf24d1 | ||
|
|
1128d7edf3 | ||
|
|
eef50a7237 | ||
|
|
397d3c618d | ||
|
|
066a6b56f7 | ||
|
|
29f6feab6c | ||
|
|
ea5d3ae40f | ||
|
|
7687833add | ||
|
|
cb9ba82fcc | ||
|
|
bacc482bf0 | ||
|
|
edb3f906f8 | ||
|
|
4171bf341b | ||
|
|
61d53f3052 | ||
|
|
4221993f7d | ||
|
|
a616c25c8c | ||
|
|
6ce4bf5673 | ||
|
|
1b652ba99f | ||
|
|
11b59df386 | ||
|
|
ac2b068bf3 | ||
|
|
8e8f346e52 | ||
|
|
b426df7271 | ||
|
|
1543e06a06 | ||
|
|
d7b4ccb1e5 | ||
|
|
dedd449329 | ||
|
|
38c589658f | ||
|
|
2f961bd7bf | ||
|
|
b72244a986 | ||
|
|
6710f25190 | ||
|
|
4089e5d7a9 | ||
|
|
0a49b5b17b | ||
|
|
34c40de429 | ||
|
|
6d02144401 | ||
|
|
561687ce0f | ||
|
|
49c22f951d | ||
|
|
a94cbc4eae | ||
|
|
20973c6724 | ||
|
|
bf10a4dcef | ||
|
|
565987a780 | ||
|
|
4f9a6c8e98 | ||
|
|
3a3e92d441 | ||
|
|
bc0dc809f9 | ||
|
|
92310847aa | ||
|
|
5bdc59830c | ||
|
|
17f524d3da | ||
|
|
4d0de2bb45 | ||
|
|
b3b8f56bb8 | ||
|
|
f036b83693 | ||
|
|
73fb31c2fc | ||
|
|
381787f39d | ||
|
|
5083af626c | ||
|
|
137bb37c29 | ||
|
|
eec578b312 | ||
|
|
b6abe9711d | ||
|
|
38c2e0d194 | ||
|
|
69566a97ca | ||
|
|
6866e9af9b | ||
|
|
e45f2c6261 | ||
|
|
d9bea49567 | ||
|
|
235b753a25 | ||
|
|
3d48432390 | ||
|
|
7b03940dab | ||
|
|
8d5d37c750 | ||
|
|
cdb9c80c0e | ||
|
|
a77f035617 | ||
|
|
2cb942a24b | ||
|
|
c79cb5731e | ||
|
|
4760bb15a4 | ||
|
|
aac881f23c | ||
|
|
da19c51566 | ||
|
|
37dd354155 | ||
|
|
acb1ebda19 | ||
|
|
5dddc05626 | ||
|
|
99890671bd | ||
|
|
9451ac5f46 | ||
|
|
a8e4e21ba1 | ||
|
|
f555ba3703 | ||
|
|
37677b3730 | ||
|
|
2a298b2268 | ||
|
|
ad3f94fb80 | ||
|
|
719660798e | ||
|
|
8d973a09e1 | ||
|
|
3579a86cde | ||
|
|
ba96a6a205 | ||
|
|
f07d2a9a9a | ||
|
|
2469067fd4 |
No files matched your search
+16
-3
@@ -1,16 +1,29 @@
|
||||
# Changelog
|
||||
## [1.8.x (MONTH xth, 2026)](#1-8-x)
|
||||
## [1.8.5 (MONTH xth, 2026)](#1-8-5)
|
||||
|
||||
### Additions
|
||||
- You can now view the biome, level, and date you caught a Pokémon.
|
||||
- Added the `healersSetSpawn` gamerule. When enabled, using a healing machine will set your spawnpoint.
|
||||
- A Pokémon holding a Power item now gains 1 point in the corresponding riding stat every two minutes while being ridden. The interval is configurable, and can be disabled with `-1`.
|
||||
- Added sounds to Gigaton Hammer and Pyro Ball
|
||||
- Added stepsounds to Venusaur, Blastoise, Dewgong, Rhydon, Rhyhorn, Parasect and Mr. Mime.
|
||||
|
||||
### Changes
|
||||
- Amethyst now grows from Typegem core blocks like typegems do
|
||||
- Updated the recipe category for the Create compatibility EXP Candy recipe
|
||||
- Added No Man's Lands' Honeyed Apple to the Leaves Leftovers tag
|
||||
|
||||
### Fixes
|
||||
- Fixed Ponigiri food values for AppleSkin integration
|
||||
- Fixed errors emitted by typos in Parched Peat bog structure files
|
||||
|
||||
### Developer
|
||||
|
||||
### Molang & Datapacks
|
||||
- `q.is_standing_on_blocks` now properly checks for non-full blocks like slabs, Mud or Soul Sand
|
||||
- Added Molang functions to play footstep sounds based on the corresponding surface. These are intended to be used by Pokémon animations.
|
||||
- Pokémon can now have their Minecraft footstep sounds silenced in their poser. This doesn't affect emitting game events.
|
||||
|
||||
### Particles
|
||||
|
||||
### Localization
|
||||
- Updated translations for:
|
||||
- Updated translations for:
|
||||
@@ -0,0 +1,2 @@
|
||||
Spec Doc: https://docs.google.com/document/d/1hEKKrT4JEagJBykx-k9K2BoeNxiMGahUWXnf8YQ85xo/edit?tab=t.0
|
||||
Marshal: dhi_holo
|
||||
@@ -15,6 +15,7 @@ import com.cobblemon.mod.common.api.riding.RidingStyle;
|
||||
import com.cobblemon.mod.common.api.spawning.spawner.PlayerSpawner;
|
||||
import com.cobblemon.mod.common.api.spawning.spawner.PlayerSpawnerFactory;
|
||||
import com.cobblemon.mod.common.api.stats.CobblemonStats;
|
||||
import com.cobblemon.mod.common.block.HealingMachineBlock;
|
||||
import com.cobblemon.mod.common.duck.ServerLevelDuck;
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity;
|
||||
import com.cobblemon.mod.common.world.gamerules.CobblemonGameRules;
|
||||
@@ -22,10 +23,14 @@ import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
|
||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
||||
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
||||
import com.llamalad7.mixinextras.sugar.Local;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
@@ -33,6 +38,9 @@ import org.spongepowered.asm.mixin.Unique;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@Mixin(ServerPlayer.class)
|
||||
public abstract class ServerPlayerMixin implements PlayerSpawnerAccessor {
|
||||
@@ -142,4 +150,17 @@ public abstract class ServerPlayerMixin implements PlayerSpawnerAccessor {
|
||||
((ServerLevelDuck) this.serverLevel()).cobblemon$getLevelResourceLocation()
|
||||
);
|
||||
}
|
||||
|
||||
@Inject(
|
||||
method = "findRespawnAndUseSpawnBlock(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;FZZ)Ljava/util/Optional;",
|
||||
at = @At(value = "HEAD"),
|
||||
cancellable = true
|
||||
)
|
||||
private static void cobblemon$useHealthStationAsRespawn(ServerLevel level, BlockPos pos, float angle, boolean forced, boolean keepInventory, CallbackInfoReturnable<Optional<ServerPlayer.RespawnPosAngle>> cir) {
|
||||
BlockState state = level.getBlockState(pos);
|
||||
Block block = state.getBlock();
|
||||
if (block instanceof HealingMachineBlock && HealingMachineBlock.Companion.canSetSpawn(level)) {
|
||||
cir.setReturnValue(HealingMachineBlock.Companion.findStandUpPosition(EntityType.PLAYER, level, pos).map((vec3) -> ServerPlayer.RespawnPosAngle.of(vec3, pos)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,9 @@
|
||||
|
||||
package com.cobblemon.mod.common
|
||||
|
||||
import com.cobblemon.mod.common.block.appliances.CopperFridgeBlockEntity
|
||||
import com.cobblemon.mod.common.block.appliances.CopperMowerBlockEntity
|
||||
import com.cobblemon.mod.common.block.appliances.CopperWasherBlockEntity
|
||||
import com.cobblemon.mod.common.block.entity.*
|
||||
import com.cobblemon.mod.common.block.habitat.HabitatBlockEntity
|
||||
import com.cobblemon.mod.common.block.multiblock.FossilMultiblockBuilder
|
||||
@@ -126,4 +129,49 @@ object CobblemonBlockEntities : PlatformRegistry<Registry<BlockEntityType<*>>, R
|
||||
CobblemonBlocks.MISTLEAF
|
||||
).build(null)
|
||||
)
|
||||
|
||||
@JvmField
|
||||
val COPPER_FRIDGE: BlockEntityType<CopperFridgeBlockEntity> = this.create(
|
||||
"copper_fridge",
|
||||
BlockEntityType.Builder.of(::CopperFridgeBlockEntity,
|
||||
CobblemonBlocks.COPPER_FRIDGE,
|
||||
CobblemonBlocks.EXPOSED_COPPER_FRIDGE,
|
||||
CobblemonBlocks.WEATHERED_COPPER_FRIDGE,
|
||||
CobblemonBlocks.OXIDIZED_COPPER_FRIDGE,
|
||||
CobblemonBlocks.WAXED_COPPER_FRIDGE,
|
||||
CobblemonBlocks.WAXED_EXPOSED_COPPER_FRIDGE,
|
||||
CobblemonBlocks.WAXED_WEATHERED_COPPER_FRIDGE,
|
||||
CobblemonBlocks.WAXED_OXIDIZED_COPPER_FRIDGE
|
||||
).build(null)
|
||||
)
|
||||
|
||||
@JvmField
|
||||
val COPPER_WASHER: BlockEntityType<CopperWasherBlockEntity> = this.create(
|
||||
"copper_washer",
|
||||
BlockEntityType.Builder.of(::CopperWasherBlockEntity,
|
||||
CobblemonBlocks.COPPER_WASHER,
|
||||
CobblemonBlocks.EXPOSED_COPPER_WASHER,
|
||||
CobblemonBlocks.WEATHERED_COPPER_WASHER,
|
||||
CobblemonBlocks.OXIDIZED_COPPER_WASHER,
|
||||
CobblemonBlocks.WAXED_COPPER_WASHER,
|
||||
CobblemonBlocks.WAXED_EXPOSED_COPPER_WASHER,
|
||||
CobblemonBlocks.WAXED_WEATHERED_COPPER_WASHER,
|
||||
CobblemonBlocks.WAXED_OXIDIZED_COPPER_WASHER
|
||||
).build(null)
|
||||
)
|
||||
|
||||
@JvmField
|
||||
val COPPER_MOWER: BlockEntityType<CopperMowerBlockEntity> = this.create(
|
||||
"copper_mower",
|
||||
BlockEntityType.Builder.of(::CopperMowerBlockEntity,
|
||||
CobblemonBlocks.COPPER_MOWER,
|
||||
CobblemonBlocks.EXPOSED_COPPER_MOWER,
|
||||
CobblemonBlocks.WEATHERED_COPPER_MOWER,
|
||||
CobblemonBlocks.OXIDIZED_COPPER_MOWER,
|
||||
CobblemonBlocks.WAXED_COPPER_MOWER,
|
||||
CobblemonBlocks.WAXED_EXPOSED_COPPER_MOWER,
|
||||
CobblemonBlocks.WAXED_WEATHERED_COPPER_MOWER,
|
||||
CobblemonBlocks.WAXED_OXIDIZED_COPPER_MOWER
|
||||
).build(null)
|
||||
)
|
||||
}
|
||||
@@ -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.CobblemonWallHangingSignBlock
|
||||
import com.cobblemon.mod.common.block.sign.CobblemonWallSignBlock
|
||||
import com.cobblemon.mod.common.block.tmmachine.TMMachineBlock
|
||||
import com.cobblemon.mod.common.block.general.MintLitterBlock
|
||||
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
|
||||
@@ -821,6 +817,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)))
|
||||
@@ -849,7 +932,6 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, ResourceKey<Registry<
|
||||
@JvmField
|
||||
val GALARICA_NUT_BUSH = this.create("galarica_nut_bush", NutBushBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).randomTicks().noCollission().sound(SoundType.SWEET_BERRY_BUSH).pushReaction(PushReaction.DESTROY)))
|
||||
|
||||
|
||||
@JvmField
|
||||
val RED_MINT_LEAF_LITTER = this.mintLitter("red_mint_leaf_litter", MapColor.COLOR_RED)
|
||||
@JvmField
|
||||
@@ -927,6 +1009,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))
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -344,7 +344,6 @@ object CobblemonNetwork {
|
||||
list.add(PacketRegisterInfo(RideStaminaUpdatePacket.ID, RideStaminaUpdatePacket::decode, PokemonUpdatePacketHandler()))
|
||||
list.add(PacketRegisterInfo(AlphaUpdatePacket.ID, AlphaUpdatePacket::decode, PokemonUpdatePacketHandler()))
|
||||
list.add(PacketRegisterInfo(ScaleModifierUpdatePacket.ID, ScaleModifierUpdatePacket::decode, PokemonUpdatePacketHandler()))
|
||||
list.add(PacketRegisterInfo(MetDataUpdatePacket.ID, MetDataUpdatePacket::decode, PokemonUpdatePacketHandler()))
|
||||
|
||||
// Evolution start
|
||||
list.add(PacketRegisterInfo(AddEvolutionPacket.ID, AddEvolutionPacket::decode, PokemonUpdatePacketHandler()))
|
||||
|
||||
@@ -12,6 +12,7 @@ package com.cobblemon.mod.common
|
||||
import com.cobblemon.mod.common.item.crafting.CookingPotRecipe
|
||||
import com.cobblemon.mod.common.item.crafting.CookingPotShapelessRecipe
|
||||
import com.cobblemon.mod.common.item.crafting.brewingstand.BrewingStandRecipe
|
||||
import com.cobblemon.mod.common.item.crafting.washer.WasherRecipe
|
||||
import com.cobblemon.mod.common.platform.PlatformRegistry
|
||||
import net.minecraft.core.Registry
|
||||
import net.minecraft.core.registries.BuiltInRegistries
|
||||
@@ -26,7 +27,9 @@ object CobblemonRecipeSerializers : PlatformRegistry<Registry<RecipeSerializer<*
|
||||
val COOKING_POT_SHAPELESS: RecipeSerializer<*> = register("cobblemon:cooking_pot_shapeless", CookingPotShapelessRecipe.Serializer())
|
||||
|
||||
val BREWING_STAND: RecipeSerializer<*> = register("cobblemon:brewing_stand", BrewingStandRecipe.Serializer())
|
||||
|
||||
|
||||
val WASHER: RecipeSerializer<*> = register("cobblemon:washer", WasherRecipe.Serializer())
|
||||
|
||||
override val registry: Registry<RecipeSerializer<*>>
|
||||
get() = BuiltInRegistries.RECIPE_SERIALIZER
|
||||
override val resourceKey: ResourceKey<Registry<RecipeSerializer<*>>>
|
||||
|
||||
@@ -12,6 +12,7 @@ package com.cobblemon.mod.common
|
||||
import com.cobblemon.mod.common.item.crafting.CookingPotRecipe
|
||||
import com.cobblemon.mod.common.item.crafting.CookingPotShapelessRecipe
|
||||
import com.cobblemon.mod.common.item.crafting.brewingstand.BrewingStandRecipe
|
||||
import com.cobblemon.mod.common.item.crafting.washer.WasherRecipe
|
||||
import com.cobblemon.mod.common.platform.PlatformRegistry
|
||||
import net.minecraft.core.Registry
|
||||
import net.minecraft.core.registries.BuiltInRegistries
|
||||
@@ -26,7 +27,9 @@ object CobblemonRecipeTypes : PlatformRegistry<Registry<RecipeType<*>>, Resource
|
||||
val COOKING_POT_SHAPELESS: RecipeType<CookingPotShapelessRecipe> = register("cobblemon:cooking_pot_shapeless")
|
||||
|
||||
val BREWING_STAND: RecipeType<BrewingStandRecipe> = register("cobblemon:brewing_stand")
|
||||
|
||||
|
||||
val WASHER: RecipeType<WasherRecipe> = register("cobblemon:washer")
|
||||
|
||||
override val registry: Registry<RecipeType<*>>
|
||||
get() = BuiltInRegistries.RECIPE_TYPE
|
||||
override val resourceKey: ResourceKey<Registry<RecipeType<*>>>
|
||||
|
||||
@@ -9,9 +9,12 @@
|
||||
package com.cobblemon.mod.common.api.riding.stats
|
||||
|
||||
import com.cobblemon.mod.common.api.cooking.Flavour
|
||||
import com.cobblemon.mod.common.api.tags.CobblemonItemTags
|
||||
import com.cobblemon.mod.common.util.lang
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.network.chat.MutableComponent
|
||||
import net.minecraft.tags.TagKey
|
||||
import net.minecraft.world.item.Item
|
||||
|
||||
/**
|
||||
* A stat that is used for riding Pokémon. The exact implementation of each of these depends on the [com.cobblemon.mod.common.api.riding.controller.RideController].
|
||||
@@ -20,13 +23,14 @@ import net.minecraft.network.chat.MutableComponent
|
||||
* @since February 17th, 2025
|
||||
*/
|
||||
enum class RidingStat(
|
||||
val flavour: Flavour
|
||||
val flavour: Flavour,
|
||||
val powerItem: TagKey<Item>
|
||||
) {
|
||||
ACCELERATION(Flavour.SPICY),
|
||||
SKILL(Flavour.DRY),
|
||||
SPEED(Flavour.SWEET),
|
||||
STAMINA(Flavour.SOUR),
|
||||
JUMP(Flavour.BITTER);
|
||||
ACCELERATION(Flavour.SPICY, CobblemonItemTags.POWER_BRACER),
|
||||
SKILL(Flavour.DRY, CobblemonItemTags.POWER_BELT),
|
||||
SPEED(Flavour.SWEET, CobblemonItemTags.POWER_ANKLET),
|
||||
STAMINA(Flavour.SOUR, CobblemonItemTags.POWER_WEIGHT),
|
||||
JUMP(Flavour.BITTER, CobblemonItemTags.POWER_BAND);
|
||||
|
||||
companion object {
|
||||
fun getByName(name: String) = RidingStat.entries.firstOrNull { it.name.equals(name, ignoreCase = true) }
|
||||
|
||||
@@ -24,6 +24,7 @@ import net.minecraft.network.chat.Component
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.util.RandomSource
|
||||
import net.minecraft.world.InteractionResult
|
||||
import net.minecraft.world.entity.EntityType
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.player.Player
|
||||
import net.minecraft.world.item.Item
|
||||
@@ -31,13 +32,9 @@ import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.TooltipFlag
|
||||
import net.minecraft.world.item.context.BlockPlaceContext
|
||||
import net.minecraft.world.level.BlockGetter
|
||||
import net.minecraft.world.level.CollisionGetter
|
||||
import net.minecraft.world.level.Level
|
||||
import net.minecraft.world.level.block.BaseEntityBlock
|
||||
import net.minecraft.world.level.block.Block
|
||||
import net.minecraft.world.level.block.HorizontalDirectionalBlock
|
||||
import net.minecraft.world.level.block.Mirror
|
||||
import net.minecraft.world.level.block.RenderShape
|
||||
import net.minecraft.world.level.block.Rotation
|
||||
import net.minecraft.world.level.block.*
|
||||
import net.minecraft.world.level.block.entity.BlockEntity
|
||||
import net.minecraft.world.level.block.entity.BlockEntityTicker
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType
|
||||
@@ -48,9 +45,11 @@ import net.minecraft.world.level.block.state.properties.IntegerProperty
|
||||
import net.minecraft.world.level.block.state.properties.Property
|
||||
import net.minecraft.world.level.pathfinder.PathComputationType
|
||||
import net.minecraft.world.phys.BlockHitResult
|
||||
import net.minecraft.world.phys.Vec3
|
||||
import net.minecraft.world.phys.shapes.CollisionContext
|
||||
import net.minecraft.world.phys.shapes.Shapes
|
||||
import net.minecraft.world.phys.shapes.VoxelShape
|
||||
import java.util.Optional
|
||||
|
||||
@Suppress("DEPRECATED", "OVERRIDE_DEPRECATION")
|
||||
class HealingMachineBlock(settings: Properties) : BaseEntityBlock(settings) {
|
||||
@@ -79,6 +78,14 @@ class HealingMachineBlock(settings: Properties) : BaseEntityBlock(settings) {
|
||||
const val MAX_CHARGE_LEVEL = 5
|
||||
val CHARGE_LEVEL: IntegerProperty = IntegerProperty.create("charge", 0, MAX_CHARGE_LEVEL + 1)
|
||||
val NATURAL: BooleanProperty = BooleanProperty.create("natural")
|
||||
|
||||
fun canSetSpawn(level: Level): Boolean {
|
||||
return level.gameRules.getBoolean(CobblemonGameRules.HEALER_SET_SPAWN)
|
||||
}
|
||||
|
||||
fun findStandUpPosition(entityType: EntityType<*>, level: CollisionGetter, pos: BlockPos): Optional<Vec3> {
|
||||
return RespawnAnchorBlock.findStandUpPosition(entityType, level, pos) // Exists if we ever want to make something more custom, but anchor block logic should suffice
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
@@ -158,7 +165,12 @@ class HealingMachineBlock(settings: Properties) : BaseEntityBlock(settings) {
|
||||
}
|
||||
val party = serverPlayerEntity.party()
|
||||
val pc = serverPlayerEntity.pc()
|
||||
val healPC = player.level().gameRules.getBoolean(CobblemonGameRules.HEALERS_HEAL_PC);
|
||||
val healPC = player.level().gameRules.getBoolean(CobblemonGameRules.HEALERS_HEAL_PC)
|
||||
|
||||
// Do spawnpoint stuff
|
||||
if (canSetSpawn(world)) {
|
||||
player.setRespawnPosition(world.dimension(), blockPos, player.yRot, false, true)
|
||||
}
|
||||
|
||||
if (party.none() && (!healPC || pc.none())) {
|
||||
player.sendSystemMessage(lang("healingmachine.nopokemon").red(), true)
|
||||
@@ -183,6 +195,7 @@ class HealingMachineBlock(settings: Properties) : BaseEntityBlock(settings) {
|
||||
player.sendSystemMessage(lang("healingmachine.notenoughcharge", "${((neededCharge/party.count())*100f).toInt()}%").red(), true)
|
||||
}
|
||||
party.forEach { it.tryRecallWithAnimation() }
|
||||
|
||||
return InteractionResult.CONSUME
|
||||
}
|
||||
|
||||
|
||||
@@ -160,8 +160,8 @@ class TypeGemClusterBlock(
|
||||
&& state.getValue(STAGE) == 3) return false
|
||||
|
||||
val supportPos = pos.relative(state.getValue(FACING).opposite)
|
||||
val supportBlock = level.getBlockState(supportPos).block
|
||||
return CobblemonBlocks.typeGemBlocks().containsValue(supportBlock) || (supportBlock == CobblemonBlocks.TYPE_GEM_CORE) // Cannot grow if not on any gem blocks
|
||||
val supportState = level.getBlockState(supportPos)
|
||||
return supportState.`is`(CobblemonBlockTags.TYPE_GEM_BLOCKS) || supportState.block == CobblemonBlocks.TYPE_GEM_CORE // Cannot grow if not on any gem blocks
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -51,10 +51,20 @@ class TypeGemCoreBlock(properties: Properties) : Block(properties) {
|
||||
ResourceLocation.parse("cobblemon:dragon_gem_block") to CobblemonBlocks.TYPE_GEM_CLUSTER_DRAGON,
|
||||
ResourceLocation.parse("cobblemon:dark_gem_block") to CobblemonBlocks.TYPE_GEM_CLUSTER_DARK,
|
||||
ResourceLocation.parse("cobblemon:steel_gem_block") to CobblemonBlocks.TYPE_GEM_CLUSTER_STEEL,
|
||||
ResourceLocation.parse("cobblemon:fairy_gem_block") to CobblemonBlocks.TYPE_GEM_CLUSTER_FAIRY
|
||||
ResourceLocation.parse("cobblemon:fairy_gem_block") to CobblemonBlocks.TYPE_GEM_CLUSTER_FAIRY,
|
||||
ResourceLocation.parse("minecraft:amethyst_block") to Blocks.SMALL_AMETHYST_BUD
|
||||
)
|
||||
}
|
||||
|
||||
val AMETHYST_STAGES = listOf(
|
||||
Blocks.SMALL_AMETHYST_BUD,
|
||||
Blocks.MEDIUM_AMETHYST_BUD,
|
||||
Blocks.LARGE_AMETHYST_BUD,
|
||||
Blocks.AMETHYST_CLUSTER
|
||||
)
|
||||
|
||||
private fun isAmethystStage(block: Block) = block in AMETHYST_STAGES
|
||||
|
||||
fun getConnectedGemBlocks(level: BlockGetter, pos: BlockPos): List<Pair<BlockState, BlockPos>> {
|
||||
val connectedGems = mutableListOf<Pair<BlockState, BlockPos>>()
|
||||
val visited = mutableSetOf<BlockPos>()
|
||||
@@ -85,12 +95,16 @@ class TypeGemCoreBlock(properties: Properties) : Block(properties) {
|
||||
Direction.entries.forEach {
|
||||
if (random.nextFloat() < Cobblemon.config.typeGemGrowthChance) {
|
||||
val faceState = level.getBlockState(pos.relative(it))
|
||||
val randomGrowthType = decideClusterGrowthType(level, pos)
|
||||
val newState = BLOCK_TO_CLUSTER[BuiltInRegistries.BLOCK.getKey(state.block)]?.defaultBlockState()
|
||||
var newState = BLOCK_TO_CLUSTER[BuiltInRegistries.BLOCK.getKey(state.block)]?.defaultBlockState()
|
||||
?.setValue(DirectionalBlock.FACING, it)
|
||||
?.setValue(GROWTH_TYPE, randomGrowthType)
|
||||
?: return
|
||||
|
||||
if (newState.hasProperty(GROWTH_TYPE)) {
|
||||
newState = newState.setValue(GROWTH_TYPE, decideClusterGrowthType(level, pos))
|
||||
} else if (getConnectedGemBlocks(level, pos).size > Cobblemon.config.typeGemMaxConnected) {
|
||||
return@forEach
|
||||
}
|
||||
|
||||
if (faceState.`is`(Blocks.AIR)) {
|
||||
level.setBlock(pos.relative(it), newState, 3)
|
||||
}
|
||||
@@ -132,7 +146,7 @@ class TypeGemCoreBlock(properties: Properties) : Block(properties) {
|
||||
if (!visited.add(clusterPos)) continue
|
||||
|
||||
val clusterState = level.getBlockState(clusterPos)
|
||||
if (clusterState.block == expectedCluster) {
|
||||
if (clusterState.block == expectedCluster && clusterState.hasProperty(GROWTH_TYPE)) {
|
||||
clusters += clusterState to clusterPos
|
||||
}
|
||||
}
|
||||
@@ -178,13 +192,41 @@ class TypeGemCoreBlock(properties: Properties) : Block(properties) {
|
||||
Direction.entries.forEach { direction ->
|
||||
val relativePos = pos.relative(direction)
|
||||
val relativeState = level.getBlockState(relativePos)
|
||||
val clusterBlock = relativeState.block as? TypeGemClusterBlock ?: return@forEach
|
||||
|
||||
if ((relativeState.getValue(DirectionalBlock.FACING) == direction &&
|
||||
random.nextFloat() < Cobblemon.config.typeGemGrowthChance) || forceGrow
|
||||
) {
|
||||
clusterBlock.advanceGrowth(relativeState, level, relativePos, random)
|
||||
val matchesFace = relativeState.hasProperty(DirectionalBlock.FACING)
|
||||
&& relativeState.getValue(DirectionalBlock.FACING) == direction
|
||||
if (!(forceGrow || (matchesFace && random.nextFloat() < Cobblemon.config.typeGemGrowthChance))) {
|
||||
return@forEach
|
||||
}
|
||||
|
||||
val block = relativeState.block
|
||||
if (block is TypeGemClusterBlock) {
|
||||
block.advanceGrowth(relativeState, level, relativePos, random)
|
||||
} else if (isAmethystStage(block)) {
|
||||
advanceAmethyst(relativeState, level, relativePos)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun advanceAmethyst(state: BlockState, level: LevelAccessor, pos: BlockPos) {
|
||||
val facing = state.getValue(DirectionalBlock.FACING)
|
||||
val supportState = level.getBlockState(pos.relative(facing.opposite))
|
||||
if (!supportState.`is`(CobblemonBlockTags.TYPE_GEM_BLOCKS) && supportState.block != CobblemonBlocks.TYPE_GEM_CORE) {
|
||||
return
|
||||
}
|
||||
|
||||
if (state.block != Blocks.AMETHYST_CLUSTER) {
|
||||
val nextStage = AMETHYST_STAGES[AMETHYST_STAGES.indexOf(state.block) + 1]
|
||||
level.setBlock(pos, nextStage.defaultBlockState().setValue(DirectionalBlock.FACING, facing), 3)
|
||||
return
|
||||
}
|
||||
|
||||
// Fully grown clusters mature into amethyst blocks unless boxed in, mirroring stunted type gems
|
||||
val boxedIn = Direction.entries.any { direction ->
|
||||
direction != facing.opposite
|
||||
&& level.getBlockState(pos.relative(direction)).`is`(CobblemonBlockTags.TYPE_GEM_BLOCKS)
|
||||
}
|
||||
if (!boxedIn) {
|
||||
level.setBlock(pos, Blocks.AMETHYST_BLOCK.defaultBlockState(), 3)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
+275
@@ -0,0 +1,275 @@
|
||||
/*
|
||||
* 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.CobblemonBlockEntities
|
||||
import com.cobblemon.mod.common.util.isServerSide
|
||||
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.server.level.ServerLevel
|
||||
import net.minecraft.util.RandomSource
|
||||
import net.minecraft.world.InteractionHand
|
||||
import net.minecraft.world.ItemInteractionResult
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.item.ItemEntity
|
||||
import net.minecraft.world.entity.player.Player
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.Items
|
||||
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.entity.BlockEntity
|
||||
import net.minecraft.world.level.block.entity.BlockEntityTicker
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType
|
||||
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.BlockHitResult
|
||||
import net.minecraft.world.phys.Vec3
|
||||
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) : BaseEntityBlock(settings), SimpleWaterloggedBlock {
|
||||
|
||||
fun getBlockEntity(level: ServerLevel, pos: BlockPos) = level.getBlockEntity(getBottomPos(level, pos)) as CopperFridgeBlockEntity
|
||||
|
||||
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 FACING = HorizontalDirectionalBlock.FACING
|
||||
|
||||
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 getRenderShape(state: BlockState) = RenderShape.MODEL
|
||||
|
||||
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)
|
||||
}
|
||||
|
||||
override fun useItemOn(
|
||||
stack: ItemStack,
|
||||
state: BlockState,
|
||||
level: Level,
|
||||
pos: BlockPos,
|
||||
player: Player,
|
||||
hand: InteractionHand,
|
||||
hitResult: BlockHitResult
|
||||
): ItemInteractionResult {
|
||||
if (level.isServerSide()) {
|
||||
val handStack = player.getItemInHand(hand)
|
||||
val stack = getBlockEntity(level as ServerLevel, pos).theItem
|
||||
|
||||
when (stack.item) {
|
||||
Items.AIR -> {
|
||||
if (handStack.`is`(Items.WATER_BUCKET)) {
|
||||
if (!player.isCreative) player.setItemInHand(hand, Items.BUCKET.defaultInstance)
|
||||
getBlockEntity(level, pos).timer = 100
|
||||
getBlockEntity(level, pos).theItem = Items.WATER_BUCKET.defaultInstance
|
||||
return ItemInteractionResult.SUCCESS
|
||||
} else {
|
||||
return ItemInteractionResult.FAIL
|
||||
}
|
||||
}
|
||||
|
||||
Items.WATER_BUCKET -> {
|
||||
if (handStack.`is`(Items.BUCKET)) {
|
||||
player.setItemInHand(hand, Items.WATER_BUCKET.defaultInstance)
|
||||
getBlockEntity(level, pos).theItem = Items.AIR.defaultInstance
|
||||
getBlockEntity(level, pos).timer = 0
|
||||
return ItemInteractionResult.SUCCESS
|
||||
} else {
|
||||
return ItemInteractionResult.FAIL
|
||||
}
|
||||
}
|
||||
|
||||
Items.ICE -> {
|
||||
val facing = state.getValue(HORIZONTAL_FACING)
|
||||
val spawnPos = getBottomPos(level, pos)
|
||||
val itemEntity =
|
||||
ItemEntity(level, spawnPos.x + 0.5, spawnPos.y + 0.5, spawnPos.z + 0.5, Items.ICE.defaultInstance)
|
||||
itemEntity.deltaMovement = Vec3(facing.stepX.toDouble(), 0.0, facing.stepZ.toDouble()).scale(0.2)
|
||||
level.addFreshEntity(itemEntity)
|
||||
getBlockEntity(level, pos).theItem = Items.AIR.defaultInstance
|
||||
return ItemInteractionResult.SUCCESS
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ItemInteractionResult.SUCCESS
|
||||
}
|
||||
|
||||
override fun getAnalogOutputSignal(state: BlockState, level: Level, pos: BlockPos): Int {
|
||||
if (level.isClientSide) return super.getAnalogOutputSignal(state, level, pos)
|
||||
return when (getBlockEntity(level as ServerLevel, pos).theItem.item) {
|
||||
Items.WATER_BUCKET -> 1
|
||||
Items.ICE -> 2
|
||||
else -> 0
|
||||
}
|
||||
}
|
||||
|
||||
override fun tick(state: BlockState, level: ServerLevel, pos: BlockPos, random: RandomSource) {
|
||||
(level.getBlockEntity(pos) as CopperFridgeBlockEntity).processTick()
|
||||
super.tick(state, level, pos, random)
|
||||
}
|
||||
|
||||
override fun newBlockEntity(pos: BlockPos, state: BlockState) = if (state.getValue(HALF) == DoubleBlockHalf.LOWER) CopperFridgeBlockEntity(pos, state) else null
|
||||
|
||||
override fun neighborChanged(
|
||||
state: BlockState,
|
||||
level: Level,
|
||||
pos: BlockPos,
|
||||
neighborBlock: Block,
|
||||
neighborPos: BlockPos,
|
||||
movedByPiston: Boolean
|
||||
) {
|
||||
if (!level.isClientSide) {
|
||||
val otherPos = if (state.getValue(HALF) == DoubleBlockHalf.LOWER) pos.above() else pos.below()
|
||||
val powered = level.hasNeighborSignal(pos) || level.hasNeighborSignal(otherPos)
|
||||
|
||||
if (state.getValue(POWERED) != powered) {
|
||||
level.setBlock(pos, state.setValue(POWERED, powered), 3)
|
||||
}
|
||||
|
||||
val otherState = level.getBlockState(otherPos)
|
||||
if (otherState.`is`(this) && otherState.getValue(POWERED) != powered) {
|
||||
level.setBlock(otherPos, otherState.setValue(POWERED, powered), 3)
|
||||
}
|
||||
}
|
||||
super.neighborChanged(state, level, pos, neighborBlock, neighborPos, movedByPiston)
|
||||
}
|
||||
|
||||
override fun <T : BlockEntity> getTicker(
|
||||
level: Level,
|
||||
state: BlockState,
|
||||
blockEntityType: BlockEntityType<T>
|
||||
): BlockEntityTicker<T>? {
|
||||
return if (level.isClientSide)
|
||||
null
|
||||
else
|
||||
createTickerHelper(blockEntityType, CobblemonBlockEntities.COPPER_FRIDGE, CopperFridgeBlockEntity.TICKER::tick)
|
||||
}
|
||||
|
||||
fun getBottomPos(level: Level, pos: BlockPos) = if (level.getBlockState(pos).getValue(HALF) == DoubleBlockHalf.UPPER) pos.below() else pos
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import com.cobblemon.mod.common.CobblemonBlockEntities
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.world.Container
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.level.block.entity.BlockEntity
|
||||
import net.minecraft.world.level.block.entity.BlockEntityTicker
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import net.minecraft.world.ticks.ContainerSingleItem
|
||||
|
||||
class CopperFridgeBlockEntity(val pos: BlockPos, val state: BlockState) : BlockEntity(
|
||||
CobblemonBlockEntities.COPPER_FRIDGE, pos, state
|
||||
), ContainerSingleItem.BlockContainerSingleItem {
|
||||
|
||||
private var item: ItemStack = Items.AIR.defaultInstance
|
||||
var timer: Int = -1
|
||||
|
||||
fun processTick() {
|
||||
if (level == null) return
|
||||
if (!level!!.getBlockState(pos).getValue(CopperFridgeBlock.POWERED)) return
|
||||
if (timer > 0) timer--
|
||||
if (timer == 0 && item.item == Items.WATER_BUCKET) {
|
||||
item = Items.ICE.defaultInstance
|
||||
timer = -1
|
||||
}
|
||||
}
|
||||
|
||||
override fun getContainerBlockEntity() = this
|
||||
override fun getTheItem() = item
|
||||
|
||||
override fun setTheItem(item: ItemStack) {
|
||||
this.item = item
|
||||
}
|
||||
|
||||
override fun canTakeItem(target: Container, slot: Int, stack: ItemStack): Boolean {
|
||||
return stack.item == Items.ICE
|
||||
}
|
||||
|
||||
companion object {
|
||||
internal val TICKER = BlockEntityTicker<CopperFridgeBlockEntity> { level, pos, state, entity ->
|
||||
if (!level.isClientSide) {
|
||||
entity.processTick()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
* 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.entity.BlockEntity
|
||||
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) : BaseEntityBlock(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.opposite)?.setValue(WATERLOGGED, fluidState.type === Fluids.WATER)
|
||||
}
|
||||
|
||||
override fun newBlockEntity(
|
||||
pos: BlockPos,
|
||||
state: BlockState
|
||||
) = CopperMowerBlockEntity(pos, state)
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import com.cobblemon.mod.common.CobblemonBlockEntities
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.world.level.block.entity.BlockEntity
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
|
||||
class CopperMowerBlockEntity(val pos: BlockPos, val state: BlockState) : BlockEntity(
|
||||
CobblemonBlockEntities.COPPER_MOWER,
|
||||
pos, state
|
||||
) {
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
* 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.isServerSide
|
||||
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.InteractionHand
|
||||
import net.minecraft.world.ItemInteractionResult
|
||||
import net.minecraft.world.entity.item.ItemEntity
|
||||
import net.minecraft.world.entity.player.Player
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.Items
|
||||
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.block.*
|
||||
import net.minecraft.world.level.block.entity.BlockEntity
|
||||
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.BlockHitResult
|
||||
import net.minecraft.world.phys.Vec3
|
||||
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) : BaseEntityBlock(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)
|
||||
}
|
||||
|
||||
override fun newBlockEntity(pos: BlockPos, state: BlockState) = CopperWasherBlockEntity(pos, state)
|
||||
|
||||
override fun getRenderShape(state: BlockState) = RenderShape.MODEL
|
||||
|
||||
override fun useItemOn(
|
||||
stack: ItemStack,
|
||||
state: BlockState,
|
||||
level: Level,
|
||||
pos: BlockPos,
|
||||
player: Player,
|
||||
hand: InteractionHand,
|
||||
hitResult: BlockHitResult
|
||||
): ItemInteractionResult {
|
||||
val entity = level.getBlockEntity(pos) as CopperWasherBlockEntity
|
||||
val item = entity.theItem
|
||||
if (item == ItemStack.EMPTY) {
|
||||
if (level.isServerSide()) {
|
||||
entity.theItem = stack.copyWithCount(1)
|
||||
if (!player.isCreative) stack.shrink(1)
|
||||
entity.craft()
|
||||
}
|
||||
return ItemInteractionResult.SUCCESS
|
||||
} else {
|
||||
if (level.isServerSide()) {
|
||||
val facing = state.getValue(HORIZONTAL_FACING)
|
||||
val itemEntity =
|
||||
ItemEntity(level, pos.x + 0.5, pos.y + 0.5, pos.z + 0.5, entity.theItem)
|
||||
itemEntity.deltaMovement = Vec3(facing.stepX.toDouble(), 0.0, facing.stepZ.toDouble()).scale(0.2)
|
||||
level.addFreshEntity(itemEntity)
|
||||
entity.theItem = ItemStack.EMPTY
|
||||
}
|
||||
return ItemInteractionResult.SUCCESS
|
||||
}
|
||||
}
|
||||
}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
package com.cobblemon.mod.common.block.appliances
|
||||
|
||||
import com.cobblemon.mod.common.CobblemonBlockEntities
|
||||
import com.cobblemon.mod.common.CobblemonRecipeTypes
|
||||
import com.cobblemon.mod.common.item.crafting.washer.WasherInput
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.level.block.entity.BlockEntity
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import net.minecraft.world.ticks.ContainerSingleItem
|
||||
|
||||
class CopperWasherBlockEntity(val pos: BlockPos, val state: BlockState): BlockEntity(
|
||||
CobblemonBlockEntities.COPPER_WASHER,
|
||||
pos, state
|
||||
), ContainerSingleItem.BlockContainerSingleItem {
|
||||
|
||||
private var item: ItemStack = ItemStack.EMPTY
|
||||
|
||||
override fun getContainerBlockEntity() = this
|
||||
override fun getTheItem() = item
|
||||
override fun setTheItem(item: ItemStack) { this.item = item }
|
||||
|
||||
fun craft() {
|
||||
val level = level ?: return
|
||||
if (level.isClientSide || theItem.isEmpty) return
|
||||
|
||||
val input = WasherInput(theItem.copyWithCount(1))
|
||||
val recipe = level.recipeManager
|
||||
.getRecipeFor(CobblemonRecipeTypes.WASHER, input, level)
|
||||
.orElse(null) ?: return
|
||||
|
||||
theItem = recipe.value().assemble(input, level.registryAccess())
|
||||
setChanged()
|
||||
level.sendBlockUpdated(worldPosition, blockState, blockState, 3)
|
||||
}
|
||||
}
|
||||
+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
|
||||
}
|
||||
}
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* 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.Block
|
||||
import net.minecraft.world.level.block.WeatheringCopper
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties
|
||||
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 changeOverTime(state: BlockState, level: ServerLevel, pos: BlockPos, random: RandomSource) {
|
||||
val upperPos = pos.above()
|
||||
val upperState = level.getBlockState(upperPos)
|
||||
if (upperState.block != this || upperState.getValue(HALF) != DoubleBlockHalf.UPPER) {
|
||||
return
|
||||
}
|
||||
|
||||
if (random.nextFloat() < 0.05688889F) {
|
||||
getNextState(state, level, pos, random).ifPresent { nextState ->
|
||||
val nextLowerState = nextState.setValue(HALF, DoubleBlockHalf.LOWER)
|
||||
val nextUpperState = nextState
|
||||
.setValue(HALF, DoubleBlockHalf.UPPER)
|
||||
.setValue(FACING, upperState.getValue(FACING))
|
||||
.setValue(BlockStateProperties.WATERLOGGED, upperState.getValue(BlockStateProperties.WATERLOGGED))
|
||||
.setValue(POWERED, upperState.getValue(POWERED))
|
||||
|
||||
level.setBlock(pos, nextLowerState, Block.UPDATE_CLIENTS)
|
||||
level.setBlock(upperPos, nextUpperState, Block.UPDATE_ALL)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun isRandomlyTicking(state: BlockState): Boolean {
|
||||
return WeatheringCopper.getNext(state.block).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
|
||||
}
|
||||
}
|
||||
@@ -391,7 +391,7 @@ object CobblemonClient {
|
||||
CobblemonBlocks.X_SP_ATK,
|
||||
CobblemonBlocks.X_SP_DEF,
|
||||
CobblemonBlocks.X_SPEED,
|
||||
CobblemonBlocks.TM_MACHINE,
|
||||
CobblemonBlocks.TM_MACHINE,
|
||||
|
||||
CobblemonBlocks.GALARICA_CUFF,
|
||||
CobblemonBlocks.GALARICA_WREATH,
|
||||
@@ -419,7 +419,7 @@ object CobblemonClient {
|
||||
CobblemonBlocks.MOOMOO_MILK,
|
||||
CobblemonBlocks.MEDICINAL_BREW,
|
||||
CobblemonBlocks.TERRAIN_EXTENDER,
|
||||
|
||||
|
||||
CobblemonBlocks.RED_MINT_LEAF_LITTER,
|
||||
CobblemonBlocks.POTTED_RED_MINT,
|
||||
CobblemonBlocks.BLUE_MINT_LEAF_LITTER,
|
||||
@@ -516,7 +516,17 @@ object CobblemonClient {
|
||||
CobblemonBlocks.POTTED_WATMEL_BERRY,
|
||||
CobblemonBlocks.POTTED_WEPEAR_BERRY,
|
||||
CobblemonBlocks.POTTED_WIKI_BERRY,
|
||||
CobblemonBlocks.POTTED_YACHE_BERRY
|
||||
CobblemonBlocks.POTTED_YACHE_BERRY,
|
||||
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()
|
||||
|
||||
-32
@@ -13,7 +13,6 @@ import com.cobblemon.mod.common.api.gui.MultiLineLabelK
|
||||
import com.cobblemon.mod.common.api.gui.blitk
|
||||
import com.cobblemon.mod.common.api.text.*
|
||||
import com.cobblemon.mod.common.client.CobblemonResources
|
||||
import com.cobblemon.mod.common.client.gui.summary.ScrollableTextBox
|
||||
import com.cobblemon.mod.common.client.gui.summary.widgets.SoundlessWidget
|
||||
import com.cobblemon.mod.common.client.gui.summary.widgets.common.reformatNatureTextIfMinted
|
||||
import com.cobblemon.mod.common.client.gui.summary.widgets.screens.stats.StatWidget.Companion.SCALE
|
||||
@@ -28,7 +27,6 @@ import net.minecraft.client.Minecraft
|
||||
import net.minecraft.client.gui.GuiGraphics
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.network.chat.MutableComponent
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
|
||||
class InfoWidget(
|
||||
pX: Int,
|
||||
@@ -47,25 +45,6 @@ class InfoWidget(
|
||||
private val infoBaseResource = cobblemonResource("textures/gui/summary/summary_info_base.png")
|
||||
}
|
||||
|
||||
private var metDataWidget: ScrollableTextBox = ScrollableTextBox(x + 5, y + 123, 20, 61, 5)
|
||||
|
||||
init {
|
||||
pokemon.metData?.let { metData ->
|
||||
val biome = ResourceLocation.parse(metData.biome.registeredName)
|
||||
val biomeName = Component.translatable("biome.${biome.namespace}.${biome.path}")
|
||||
metDataWidget.setText(lang("ui.info.met_data",
|
||||
biomeName,
|
||||
metData.date.monthValue,
|
||||
metData.date.dayOfMonth,
|
||||
metData.date.year,
|
||||
metData.level
|
||||
))
|
||||
} ?: run {
|
||||
metDataWidget.setText(lang("ui.info.met_data_unavailable"))
|
||||
}
|
||||
addWidget(metDataWidget)
|
||||
}
|
||||
|
||||
override fun renderWidget(context: GuiGraphics, pMouseX: Int, pMouseY: Int, pPartialTicks: Float) {
|
||||
val matrices = context.pose()
|
||||
// Base texture
|
||||
@@ -184,17 +163,6 @@ class InfoWidget(
|
||||
)
|
||||
matrices.popPose()
|
||||
|
||||
metDataWidget.render(context, pMouseX, pMouseY, pPartialTicks)
|
||||
|
||||
|
||||
// val textLines = mutableListOf<MutableComponent>()
|
||||
// pokemon.metData?.let { metData ->
|
||||
|
||||
// }
|
||||
//
|
||||
// metDataWidget.textLines = textLines
|
||||
// metDataWidget.render(context, pMouseX, pMouseY, pPartialTicks)
|
||||
|
||||
drawScaledText(
|
||||
context = context,
|
||||
text = lang("ui.info.experience_points"),
|
||||
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* 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.gui.summary.widgets.screens.moves
|
||||
|
||||
import com.cobblemon.mod.common.client.render.drawScaledText
|
||||
import net.minecraft.client.gui.GuiGraphics
|
||||
import net.minecraft.client.gui.components.ObjectSelectionList
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.network.chat.MutableComponent
|
||||
|
||||
class MoveDescriptionEntry(
|
||||
var line : MutableComponent
|
||||
) :
|
||||
ObjectSelectionList.Entry<MoveDescriptionEntry>() {
|
||||
|
||||
override fun render(
|
||||
context: GuiGraphics,
|
||||
index: Int,
|
||||
rowTop: Int,
|
||||
rowLeft: Int,
|
||||
rowWidth: Int,
|
||||
rowHeight: Int,
|
||||
mouseX: Int,
|
||||
mouseY: Int,
|
||||
isHovered: Boolean,
|
||||
partialTicks: Float
|
||||
) {
|
||||
drawScaledText(
|
||||
context = context,
|
||||
text = line,
|
||||
x = rowLeft + 82,
|
||||
y = rowTop,
|
||||
scale = 0.5F,
|
||||
shadow = true
|
||||
)
|
||||
}
|
||||
|
||||
override fun getNarration(): Component {
|
||||
return line
|
||||
}
|
||||
}
|
||||
+7
-67
@@ -6,59 +6,23 @@
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.client.gui.summary
|
||||
package com.cobblemon.mod.common.client.gui.summary.widgets.screens.moves
|
||||
|
||||
import com.cobblemon.mod.common.client.gui.CobblemonRenderable
|
||||
import com.cobblemon.mod.common.client.render.drawScaledText
|
||||
import net.minecraft.client.Minecraft
|
||||
import net.minecraft.client.gui.GuiGraphics
|
||||
import net.minecraft.client.gui.components.ObjectSelectionList
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.network.chat.MutableComponent
|
||||
import net.minecraft.util.Mth
|
||||
|
||||
class ScrollableTextBoxEntry(
|
||||
var line : MutableComponent
|
||||
) :
|
||||
ObjectSelectionList.Entry<ScrollableTextBoxEntry>() {
|
||||
|
||||
override fun render(
|
||||
context: GuiGraphics,
|
||||
index: Int,
|
||||
rowTop: Int,
|
||||
rowLeft: Int,
|
||||
rowWidth: Int,
|
||||
rowHeight: Int,
|
||||
mouseX: Int,
|
||||
mouseY: Int,
|
||||
isHovered: Boolean,
|
||||
partialTicks: Float
|
||||
) {
|
||||
drawScaledText(
|
||||
context = context,
|
||||
text = line,
|
||||
x = rowLeft + 82,
|
||||
y = rowTop,
|
||||
scale = 0.5F,
|
||||
shadow = true
|
||||
)
|
||||
}
|
||||
|
||||
override fun getNarration(): Component {
|
||||
return line
|
||||
}
|
||||
}
|
||||
|
||||
class ScrollableTextBox(
|
||||
class MoveDescriptionScrollList(
|
||||
private val listX: Int,
|
||||
private val listY: Int,
|
||||
height: Int,
|
||||
width: Int,
|
||||
slotHeight: Int
|
||||
) : ObjectSelectionList<ScrollableTextBoxEntry>(
|
||||
) : ObjectSelectionList<MoveDescriptionEntry>(
|
||||
Minecraft.getInstance(),
|
||||
width, // width
|
||||
height, // height
|
||||
60, // width
|
||||
30, // height
|
||||
0, // top
|
||||
slotHeight
|
||||
), CobblemonRenderable {
|
||||
@@ -74,31 +38,8 @@ class ScrollableTextBox(
|
||||
return x + width - 3
|
||||
}
|
||||
|
||||
override fun getMaxPosition(): Int {
|
||||
return super.getMaxPosition() + 3 // add bottom padding
|
||||
}
|
||||
|
||||
// we do our own scrollbar rendering, and this being true renders the vanilla one
|
||||
override fun scrollbarVisible() = false
|
||||
|
||||
override fun renderWidget(context: GuiGraphics, pMouseX: Int, pMouseY: Int, f: Float) {
|
||||
isHovered = pMouseX >= x && pMouseY >= y && pMouseX < x + width && pMouseY < y + height
|
||||
|
||||
if (maxScroll > 0) {
|
||||
val right = x + width
|
||||
val bottom = y + height
|
||||
val darkGray = 0xFF5B595B.toInt()
|
||||
val lightGray = 0xFF8C8C8C.toInt()
|
||||
context.fill(right - 2, y + 2, right - 4, bottom - 2, darkGray)
|
||||
// vanilla scrollbar mumbo jumbo
|
||||
var scrollHeight = ((height * height).toFloat() / maxPosition.toFloat()).toInt()
|
||||
scrollHeight = Mth.clamp(scrollHeight, 32, height - 8)
|
||||
var scrollY = scrollAmount.toInt() * (height - scrollHeight + 2) / maxScroll + y - 1
|
||||
if (scrollY < y) { scrollY = y }
|
||||
|
||||
context.fill(right - 2, scrollY + 2, right - 4, scrollY + scrollHeight - 3, lightGray)
|
||||
}
|
||||
|
||||
context.enableScissor(
|
||||
x,
|
||||
y,
|
||||
@@ -138,7 +79,7 @@ class ScrollableTextBox(
|
||||
&& mouseY < bottom
|
||||
}
|
||||
|
||||
fun setText(moveDescription: MutableComponent) {
|
||||
fun setMoveDescription(moveDescription: MutableComponent) {
|
||||
clearEntries()
|
||||
val splitWidth = 100
|
||||
val text = moveDescription.string
|
||||
@@ -162,8 +103,7 @@ class ScrollableTextBox(
|
||||
}
|
||||
|
||||
for (part in splitText) {
|
||||
addEntry(ScrollableTextBoxEntry(Component.literal(part)))
|
||||
addEntry(MoveDescriptionEntry(Component.literal(part)))
|
||||
}
|
||||
scrollAmount = 0.0
|
||||
}
|
||||
}
|
||||
+3
-6
@@ -13,7 +13,6 @@ import com.cobblemon.mod.common.api.gui.blitk
|
||||
import com.cobblemon.mod.common.api.moves.Move
|
||||
import com.cobblemon.mod.common.api.text.text
|
||||
import com.cobblemon.mod.common.client.CobblemonClient
|
||||
import com.cobblemon.mod.common.client.gui.summary.ScrollableTextBox
|
||||
import com.cobblemon.mod.common.client.gui.summary.Summary
|
||||
import com.cobblemon.mod.common.client.gui.summary.widgets.SoundlessWidget
|
||||
import com.cobblemon.mod.common.client.render.drawScaledText
|
||||
@@ -71,11 +70,9 @@ class MovesWidget(
|
||||
addWidget(it)
|
||||
}
|
||||
|
||||
private var descriptionScrollList = ScrollableTextBox(
|
||||
x + 68,
|
||||
private var descriptionScrollList = MoveDescriptionScrollList(
|
||||
x + 69,
|
||||
y + 113,
|
||||
30,
|
||||
61,
|
||||
5
|
||||
)
|
||||
|
||||
@@ -218,7 +215,7 @@ class MovesWidget(
|
||||
|
||||
fun selectMove(move: Move?) {
|
||||
selectedMove = if (selectedMove == move || move == null) null else move
|
||||
descriptionScrollList.setText(selectedMove?.description ?: "".text())
|
||||
descriptionScrollList.setMoveDescription(selectedMove?.description ?: "".text())
|
||||
}
|
||||
|
||||
override fun mouseClicked(mouseX: Double, mouseY: Double, button: Int): Boolean {
|
||||
|
||||
@@ -47,6 +47,10 @@ class CobblemonConfig {
|
||||
@IntConstraint(min = 0, max = 1000)
|
||||
var maxPokemonFriendship = 255
|
||||
|
||||
@CobblemonConfigField(Category.Pokemon, lang = "power_item_ride_stat_gain_interval_seconds", SERVER)
|
||||
@IntConstraint(min = -1, max = Int.MAX_VALUE)
|
||||
var powerItemRideStatGainIntervalSeconds = 120
|
||||
|
||||
@CobblemonConfigField(Category.Pokemon, lang = "announce_drop_items", SERVER)
|
||||
var announceDropItems = true
|
||||
@CobblemonConfigField(Category.Pokemon, lang = "default_drop_item_method", SERVER)
|
||||
|
||||
-10
@@ -47,7 +47,6 @@ import com.cobblemon.mod.common.net.messages.client.battle.BattleCaptureStartPac
|
||||
import com.cobblemon.mod.common.net.messages.client.effect.SpawnSnowstormEntityParticlePacket
|
||||
import com.cobblemon.mod.common.net.messages.client.spawn.SpawnPokeballPacket
|
||||
import com.cobblemon.mod.common.pokeball.PokeBall
|
||||
import com.cobblemon.mod.common.pokemon.PokemonMetData
|
||||
import com.cobblemon.mod.common.pokemon.ai.PokemonBrain
|
||||
import com.cobblemon.mod.common.pokemon.properties.UncatchableProperty
|
||||
import com.cobblemon.mod.common.util.*
|
||||
@@ -75,9 +74,6 @@ import net.minecraft.world.phys.BlockHitResult
|
||||
import net.minecraft.world.phys.EntityHitResult
|
||||
import net.minecraft.world.phys.HitResult
|
||||
import net.minecraft.world.phys.Vec3
|
||||
import java.time.LocalDate
|
||||
import java.time.ZoneId
|
||||
import java.util.Date
|
||||
import java.util.concurrent.CompletableFuture
|
||||
|
||||
class EmptyPokeBallEntity : ThrowableItemProjectile, PosableEntity, WaterDragModifier, Schedulable {
|
||||
@@ -364,12 +360,6 @@ class EmptyPokeBallEntity : ThrowableItemProjectile, PosableEntity, WaterDragMod
|
||||
party.add(pokemon.pokemon)
|
||||
val leashHolder = pokemon.leashHolder
|
||||
|
||||
pokemon.pokemon.metData = PokemonMetData(
|
||||
this.level().getBiome(this.blockPosition()),
|
||||
LocalDate.now(ZoneId.systemDefault()),
|
||||
pokemon.pokemon.level
|
||||
)
|
||||
|
||||
if (leashHolder != null) {
|
||||
val blockPos = leashHolder.blockPosition()
|
||||
val blockState = level().getBlockState(blockPos)
|
||||
|
||||
@@ -2744,4 +2744,9 @@ open class PokemonEntity(
|
||||
}
|
||||
|
||||
fun hasRider() = this.passengers.any { it is LivingEntity }
|
||||
}
|
||||
|
||||
override fun playStepSound(pos: BlockPos, state: BlockState) {
|
||||
if (this.pokemon.species.silenceStepSounds) return
|
||||
super.playStepSound(pos, state)
|
||||
}
|
||||
}
|
||||
+27
@@ -22,6 +22,7 @@ import com.cobblemon.mod.common.api.molang.ObjectValue
|
||||
import com.cobblemon.mod.common.api.pokemon.PokemonProperties
|
||||
import com.cobblemon.mod.common.api.pokemon.feature.TickingSpeciesFeature
|
||||
import com.cobblemon.mod.common.api.pokemon.status.Statuses
|
||||
import com.cobblemon.mod.common.api.riding.stats.RidingStat
|
||||
import com.cobblemon.mod.common.api.spawning.fishing.FishingSpawnCause.Companion.DROPS_REROLL_ASPECT
|
||||
import com.cobblemon.mod.common.api.tags.CobblemonItemTags
|
||||
import com.cobblemon.mod.common.battles.BattleRegistry
|
||||
@@ -46,10 +47,15 @@ import kotlin.math.*
|
||||
|
||||
/** Handles purely server logic for a Pokémon */
|
||||
class PokemonServerDelegate : PokemonSideDelegate {
|
||||
companion object {
|
||||
private const val RIDE_STAT_GAIN_AMOUNT = 1F
|
||||
}
|
||||
|
||||
lateinit var entity: PokemonEntity
|
||||
var acknowledgedHPValue = -1
|
||||
var acknowledgedLevel = -1
|
||||
val passengerOffsets = mutableMapOf<Int, Vec3>()
|
||||
private var rideStatGainAnchor: Vec3? = null
|
||||
|
||||
/** Mocked properties exposed to the client [PokemonEntity]. */
|
||||
private val mock: PokemonProperties?
|
||||
@@ -355,9 +361,30 @@ class PokemonServerDelegate : PokemonSideDelegate {
|
||||
}
|
||||
}
|
||||
|
||||
val rideStatGainIntervalSeconds = Cobblemon.config.powerItemRideStatGainIntervalSeconds
|
||||
if (rideStatGainIntervalSeconds > 0) {
|
||||
val rideStatGainIntervalTicks = rideStatGainIntervalSeconds * 20L
|
||||
if (entity.level().gameTime % rideStatGainIntervalTicks == 0L) {
|
||||
trainRideStats()
|
||||
}
|
||||
}
|
||||
|
||||
updateTrackedValues()
|
||||
}
|
||||
|
||||
private fun trainRideStats() {
|
||||
val position = entity.position()
|
||||
val anchor = rideStatGainAnchor
|
||||
rideStatGainAnchor = position
|
||||
if (anchor == null || anchor == position || entity.passengers.isEmpty()) return
|
||||
|
||||
val heldItem = entity.pokemon.heldItemNoCopy()
|
||||
if (heldItem.isEmpty) return
|
||||
|
||||
val stat = RidingStat.entries.firstOrNull { heldItem.`is`(it.powerItem) } ?: return
|
||||
entity.pokemon.addRideBoost(stat, RIDE_STAT_GAIN_AMOUNT)
|
||||
}
|
||||
|
||||
fun updateShownItem() {
|
||||
val trackedShownItem = when {
|
||||
// Show Hand Item if Held item is hidden
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.cobblemon.mod.common.item.crafting.washer
|
||||
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.crafting.Ingredient
|
||||
import net.minecraft.world.item.crafting.RecipeInput
|
||||
|
||||
class WasherInput(
|
||||
val item: ItemStack = ItemStack.EMPTY
|
||||
) : RecipeInput {
|
||||
|
||||
override fun getItem(index: Int): ItemStack? {
|
||||
return if (index == 0) item else null
|
||||
}
|
||||
|
||||
override fun size() = 1
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.cobblemon.mod.common.item.crafting.washer
|
||||
|
||||
import com.cobblemon.mod.common.CobblemonRecipeSerializers
|
||||
import com.cobblemon.mod.common.CobblemonRecipeTypes
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.MapCodec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import net.minecraft.core.component.DataComponents
|
||||
import net.minecraft.core.HolderLookup
|
||||
import net.minecraft.network.RegistryFriendlyByteBuf
|
||||
import net.minecraft.network.codec.StreamCodec
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.crafting.Ingredient
|
||||
import net.minecraft.world.item.crafting.Recipe
|
||||
import net.minecraft.world.item.crafting.RecipeSerializer
|
||||
import net.minecraft.world.level.Level
|
||||
|
||||
class WasherRecipe(
|
||||
val input: Ingredient,
|
||||
val result: ItemStack,
|
||||
val preserveInputComponents: Boolean = false,
|
||||
val removeDyedColor: Boolean = false
|
||||
) : Recipe<WasherInput> {
|
||||
|
||||
override fun getType() = CobblemonRecipeTypes.WASHER
|
||||
override fun canCraftInDimensions(width: Int, height: Int) = true
|
||||
override fun assemble(input: WasherInput, registries: HolderLookup.Provider): ItemStack {
|
||||
val output = if (preserveInputComponents) {
|
||||
input.item.transmuteCopy(result.item, result.count)
|
||||
} else {
|
||||
result.copy()
|
||||
}
|
||||
if (removeDyedColor) {
|
||||
output.remove(DataComponents.DYED_COLOR)
|
||||
}
|
||||
return output
|
||||
}
|
||||
override fun getSerializer() = CobblemonRecipeSerializers.WASHER
|
||||
override fun getResultItem(registries: HolderLookup.Provider): ItemStack = result.copy()
|
||||
override fun matches(input: WasherInput, level: Level) =
|
||||
this.input.test(input.item) && (!removeDyedColor || input.item.has(DataComponents.DYED_COLOR))
|
||||
|
||||
class Serializer : RecipeSerializer<WasherRecipe> {
|
||||
companion object {
|
||||
val CODEC: MapCodec<WasherRecipe> = RecordCodecBuilder.mapCodec { instance ->
|
||||
instance.group(
|
||||
Ingredient.CODEC.fieldOf("input").forGetter { recipe -> recipe.input },
|
||||
ItemStack.STRICT_CODEC.fieldOf("result").forGetter { recipe -> recipe.result },
|
||||
Codec.BOOL.optionalFieldOf("preserve_input_components", false)
|
||||
.forGetter { recipe -> recipe.preserveInputComponents },
|
||||
Codec.BOOL.optionalFieldOf("remove_dyed_color", false)
|
||||
.forGetter { recipe -> recipe.removeDyedColor }
|
||||
).apply(instance, ::WasherRecipe)
|
||||
}
|
||||
}
|
||||
|
||||
val STREAM_CODEC: StreamCodec<RegistryFriendlyByteBuf, WasherRecipe> =
|
||||
StreamCodec.of(::toNetwork, ::fromNetwork)
|
||||
|
||||
private fun fromNetwork(buffer: RegistryFriendlyByteBuf): WasherRecipe {
|
||||
val input = Ingredient.CONTENTS_STREAM_CODEC.decode(buffer)
|
||||
val result = ItemStack.STREAM_CODEC.decode(buffer)
|
||||
val preserveInputComponents = buffer.readBoolean()
|
||||
val removeDyedColor = buffer.readBoolean()
|
||||
return WasherRecipe(input, result, preserveInputComponents, removeDyedColor)
|
||||
}
|
||||
|
||||
private fun toNetwork(buffer: RegistryFriendlyByteBuf, recipe: WasherRecipe) {
|
||||
Ingredient.CONTENTS_STREAM_CODEC.encode(buffer, recipe.input)
|
||||
ItemStack.STREAM_CODEC.encode(buffer, recipe.result)
|
||||
buffer.writeBoolean(recipe.preserveInputComponents)
|
||||
buffer.writeBoolean(recipe.removeDyedColor)
|
||||
}
|
||||
|
||||
override fun codec() = CODEC
|
||||
override fun streamCodec() = STREAM_CODEC
|
||||
}
|
||||
|
||||
}
|
||||
@@ -570,6 +570,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) {
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
package com.cobblemon.mod.common.item.interactive
|
||||
|
||||
import com.cobblemon.mod.common.CobblemonItemComponents
|
||||
import com.cobblemon.mod.common.item.components.FoodComponent
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.sounds.SoundEvent
|
||||
import net.minecraft.sounds.SoundEvents
|
||||
@@ -23,10 +24,15 @@ import net.minecraft.world.level.Level
|
||||
class PonigiriItem : Item(
|
||||
Properties().stacksTo(64)
|
||||
.food(FoodProperties.Builder()
|
||||
.nutrition(2)
|
||||
.saturationModifier(0.55f)
|
||||
.nutrition(NUTRITION)
|
||||
.saturationModifier(SATURATION_MODIFIER)
|
||||
.build())
|
||||
) {
|
||||
companion object {
|
||||
const val NUTRITION = 2
|
||||
const val SATURATION_MODIFIER = 0.55f
|
||||
}
|
||||
|
||||
override fun getName(stack: ItemStack): Component {
|
||||
|
||||
val ingredients = stack.get(CobblemonItemComponents.INGREDIENT)
|
||||
@@ -59,4 +65,9 @@ class PonigiriItem : Item(
|
||||
override fun getEatingSound(): SoundEvent {
|
||||
return SoundEvents.GENERIC_EAT
|
||||
}
|
||||
}
|
||||
|
||||
fun getFoodValues(stack: ItemStack): Pair<Int, Float> {
|
||||
val (hunger, saturation) = stack.getOrDefault(CobblemonItemComponents.FOOD, FoodComponent(NUTRITION, SATURATION_MODIFIER))
|
||||
return hunger to saturation
|
||||
}
|
||||
}
|
||||
-44
@@ -1,44 +0,0 @@
|
||||
package com.cobblemon.mod.common.net.messages.client.pokemon.update
|
||||
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import com.cobblemon.mod.common.pokemon.PokemonMetData
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import net.minecraft.core.registries.Registries
|
||||
import net.minecraft.network.RegistryFriendlyByteBuf
|
||||
import net.minecraft.resources.ResourceKey
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import java.time.Instant
|
||||
import java.time.ZoneId
|
||||
import kotlin.jvm.optionals.getOrNull
|
||||
|
||||
class MetDataUpdatePacket(pokemon: () -> Pokemon?, value: PokemonMetData): SingleUpdatePacket<PokemonMetData, MetDataUpdatePacket>(pokemon, value) {
|
||||
override val id = ID
|
||||
|
||||
override fun encodeValue(buffer: RegistryFriendlyByteBuf) {
|
||||
val biome = value.biome.unwrapKey().getOrNull()
|
||||
?: ResourceKey.create(Registries.BIOME, ResourceLocation.parse("minecraft:plains"))
|
||||
buffer.writeResourceKey(biome)
|
||||
buffer.writeLong(value.date.atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli())
|
||||
buffer.writeInt(value.level)
|
||||
}
|
||||
|
||||
override fun set(
|
||||
pokemon: Pokemon,
|
||||
value: PokemonMetData
|
||||
) {
|
||||
pokemon.metData = value
|
||||
}
|
||||
|
||||
companion object {
|
||||
val ID = cobblemonResource("met_data_update")
|
||||
fun decode(buffer: RegistryFriendlyByteBuf): MetDataUpdatePacket {
|
||||
val pokemon = decodePokemon(buffer)
|
||||
val biomeKey = buffer.readResourceKey(Registries.BIOME)
|
||||
val dateTime = buffer.readLong()
|
||||
val date = Instant.ofEpochMilli(dateTime).atZone(ZoneId.systemDefault()).toLocalDate()
|
||||
val level = buffer.readInt()
|
||||
val biome = buffer.registryAccess().lookupOrThrow(Registries.BIOME).getOrThrow(biomeKey)
|
||||
return MetDataUpdatePacket(pokemon, PokemonMetData(biome, date, level))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -550,12 +550,6 @@ open class Pokemon : ShowdownIdentifiable {
|
||||
onChange(OriginalTrainerUpdatePacket({ this }, value))
|
||||
}
|
||||
|
||||
var metData: PokemonMetData? = null
|
||||
set(value) {
|
||||
field = value
|
||||
value?.let { onChange(MetDataUpdatePacket({ this }, it)) }
|
||||
}
|
||||
|
||||
/**
|
||||
* Cache friendship on trade for OT
|
||||
*/
|
||||
@@ -1533,7 +1527,6 @@ open class Pokemon : ShowdownIdentifiable {
|
||||
this.potentialMarks.clear()
|
||||
this.potentialMarks += other.marks
|
||||
this.markings = other.markings
|
||||
this.metData = other.metData
|
||||
this.recalculateCharacteristic()
|
||||
this.updateAspects()
|
||||
this.refreshOriginalTrainer()
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
package com.cobblemon.mod.common.pokemon
|
||||
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import net.minecraft.core.Holder
|
||||
import net.minecraft.world.level.biome.Biome
|
||||
import java.time.LocalDate
|
||||
|
||||
/**
|
||||
* Stores information about the circumstances of a player's meeting with a [Pokemon]
|
||||
*
|
||||
* @param biome A [Holder] for the [Biome] the [Pokemon] was caught in
|
||||
* @param date A [LocalDate] of the real life date the [Pokemon] was caught
|
||||
* @param level The level the [Pokemon] was when caught
|
||||
*/
|
||||
data class PokemonMetData(
|
||||
val biome: Holder<Biome>,
|
||||
val date: LocalDate,
|
||||
val level: Int
|
||||
) {
|
||||
companion object {
|
||||
private val LOCAL_DATE_CODEC: Codec<LocalDate> = Codec.STRING.xmap(
|
||||
LocalDate::parse,
|
||||
LocalDate::toString
|
||||
)
|
||||
|
||||
val CODEC: Codec<PokemonMetData> = RecordCodecBuilder.create { instance ->
|
||||
instance.group(
|
||||
Biome.CODEC
|
||||
.fieldOf("biome")
|
||||
.forGetter { it.biome },
|
||||
LOCAL_DATE_CODEC
|
||||
.fieldOf("date")
|
||||
.forGetter { it.date },
|
||||
Codec.INT
|
||||
.fieldOf("level")
|
||||
.forGetter { it.level }
|
||||
).apply(instance) { biome, date, level ->
|
||||
PokemonMetData(
|
||||
biome = biome,
|
||||
date = date,
|
||||
level = level
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -173,6 +173,7 @@ class Species : ShowdownIdentifiable {
|
||||
.addStandardFunctions()
|
||||
.addSpeciesFunctions(this)
|
||||
|
||||
var silenceStepSounds = false
|
||||
|
||||
fun initialize() {
|
||||
Cobblemon.statProvider.provide(this)
|
||||
@@ -256,6 +257,7 @@ class Species : ShowdownIdentifiable {
|
||||
}
|
||||
|
||||
this.riding.encode(buffer)
|
||||
buffer.writeBoolean(this.silenceStepSounds)
|
||||
}
|
||||
|
||||
fun decode(buffer: RegistryFriendlyByteBuf) {
|
||||
@@ -299,6 +301,7 @@ class Species : ShowdownIdentifiable {
|
||||
}
|
||||
}
|
||||
this.riding = RidingProperties.decode(buffer)
|
||||
this.silenceStepSounds = buffer.readBoolean()
|
||||
this.initialize()
|
||||
}
|
||||
|
||||
|
||||
@@ -86,7 +86,6 @@ object DataKeys {
|
||||
const val POKEMON_ORIGINAL_TRAINER_NAME = "PokemonOriginalTrainerName"
|
||||
const val POKEMON_ORIGINAL_TRAINER_TYPE = "PokemonOriginalTrainerType"
|
||||
const val POKEMON_ORIGINAL_TRAINER_FRIENDSHIP = "PokemonOriginalTrainerFriendship"
|
||||
const val POKEMON_MET_DATA = "PokemonMetData"
|
||||
|
||||
const val POKEMON_PROPERTIES_MOVES = "Moves"
|
||||
const val POKEMON_PROPERTIES_HELDITEM = "HeldItem"
|
||||
|
||||
@@ -234,11 +234,11 @@ fun Entity.isDusk(): Boolean {
|
||||
}
|
||||
|
||||
fun Entity.isStandingOn(blocks: Set<String>, depth: Int = 2): Boolean {
|
||||
for (currentDepth in 1..depth) {
|
||||
val bellowBlockPos = blockPosition().below(currentDepth)
|
||||
for (currentDepth in 0..depth) {
|
||||
val bellowBlockPos = blockPosBelowThatAffectsMyMovement.below(currentDepth)
|
||||
val blockState = level().getBlockState(bellowBlockPos)
|
||||
|
||||
if (blockState.isAir || !blockState.isCollisionShapeFullBlock(level(), bellowBlockPos)) continue
|
||||
if (blockState.isAir) continue
|
||||
|
||||
val elementOrTags = ExtraCodecs.TAG_OR_ELEMENT_ID.listOf().decode(JavaOps.INSTANCE, blocks.toList()).result().get().first
|
||||
elementOrTags.forEach {
|
||||
|
||||
+9
-13
@@ -8,23 +8,25 @@
|
||||
|
||||
package com.cobblemon.mod.common.util.codec.internal
|
||||
|
||||
import com.cobblemon.mod.common.api.mark.Marks
|
||||
import com.cobblemon.mod.common.api.riding.stats.RidingStat
|
||||
import com.cobblemon.mod.common.client.settings.ServerSettings
|
||||
import com.cobblemon.mod.common.pokemon.OriginalTrainerType
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import com.cobblemon.mod.common.pokemon.PokemonMetData
|
||||
import com.cobblemon.mod.common.util.DataKeys
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.MapCodec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import java.util.*
|
||||
|
||||
internal data class ClientPokemonP4(
|
||||
val originalTrainerFriendship: Optional<Int>,
|
||||
val pokemonMetData: Optional<PokemonMetData>
|
||||
val originalTrainerFriendship: Optional<Int>
|
||||
) : Partial<Pokemon> {
|
||||
|
||||
override fun into(other: Pokemon): Pokemon {
|
||||
this.originalTrainerFriendship.ifPresent { other.originalTrainerFriendship = it }
|
||||
other.metData = this.pokemonMetData.orElse(null)
|
||||
return other
|
||||
}
|
||||
|
||||
@@ -34,18 +36,12 @@ internal data class ClientPokemonP4(
|
||||
*/
|
||||
internal val CODEC: MapCodec<ClientPokemonP4> = RecordCodecBuilder.mapCodec { instance ->
|
||||
instance.group(
|
||||
Codec.INT.optionalFieldOf(DataKeys.POKEMON_ORIGINAL_TRAINER_FRIENDSHIP).forGetter(ClientPokemonP4::originalTrainerFriendship),
|
||||
PokemonMetData.CODEC.optionalFieldOf(DataKeys.POKEMON_MET_DATA).forGetter(ClientPokemonP4::pokemonMetData)
|
||||
).apply(instance) {
|
||||
originalTrainerFriendship, pokemonMetData -> ClientPokemonP4(
|
||||
originalTrainerFriendship, pokemonMetData
|
||||
)
|
||||
}
|
||||
Codec.INT.optionalFieldOf(DataKeys.POKEMON_ORIGINAL_TRAINER_FRIENDSHIP).forGetter(ClientPokemonP4::originalTrainerFriendship)
|
||||
).apply(instance, ::ClientPokemonP4)
|
||||
}
|
||||
|
||||
internal fun from(pokemon: Pokemon): ClientPokemonP4 = ClientPokemonP4(
|
||||
Optional.ofNullable(pokemon.originalTrainerFriendship),
|
||||
Optional.ofNullable(pokemon.metData)
|
||||
Optional.ofNullable(pokemon.originalTrainerFriendship)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,6 @@
|
||||
package com.cobblemon.mod.common.util.codec.internal
|
||||
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import com.cobblemon.mod.common.pokemon.PokemonMetData
|
||||
import com.cobblemon.mod.common.util.DataKeys
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.MapCodec
|
||||
@@ -17,32 +16,28 @@ import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import java.util.*
|
||||
|
||||
internal data class PokemonP4(
|
||||
val originalTrainerFriendship: Optional<Int>,
|
||||
val pokemonMetData: Optional<PokemonMetData>
|
||||
val originalTrainerFriendship: Optional<Int>
|
||||
) : Partial<Pokemon> {
|
||||
|
||||
override fun into(other: Pokemon): Pokemon {
|
||||
this.originalTrainerFriendship.ifPresent { other.originalTrainerFriendship = it }
|
||||
other.refreshOriginalTrainer()
|
||||
other.metData = this.pokemonMetData.orElse(null)
|
||||
return other
|
||||
}
|
||||
|
||||
companion object {
|
||||
internal val CODEC: MapCodec<PokemonP4> = RecordCodecBuilder.mapCodec { instance ->
|
||||
instance.group(
|
||||
Codec.INT.optionalFieldOf(DataKeys.POKEMON_ORIGINAL_TRAINER_FRIENDSHIP).forGetter(PokemonP4::originalTrainerFriendship),
|
||||
PokemonMetData.CODEC.optionalFieldOf(DataKeys.POKEMON_MET_DATA).forGetter(PokemonP4::pokemonMetData)
|
||||
Codec.INT.optionalFieldOf(DataKeys.POKEMON_ORIGINAL_TRAINER_FRIENDSHIP).forGetter(PokemonP4::originalTrainerFriendship)
|
||||
).apply(instance) {
|
||||
originalTrainerFriendship, pokemonMetData -> PokemonP4(
|
||||
originalTrainerFriendship, pokemonMetData
|
||||
originalTrainerFriendship -> PokemonP4(
|
||||
originalTrainerFriendship
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
internal fun from(pokemon: Pokemon): PokemonP4 = PokemonP4(
|
||||
Optional.ofNullable(pokemon.originalTrainerFriendship),
|
||||
Optional.ofNullable(pokemon.metData)
|
||||
Optional.ofNullable(pokemon.originalTrainerFriendship)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -27,5 +27,7 @@ object CobblemonGameRules {
|
||||
@JvmField
|
||||
val HEALERS_HEAL_PC: GameRules.Key<GameRules.BooleanValue> = Cobblemon.implementation.registerGameRule("healersHealPC", GameRules.Category.MISC, BooleanRuleInvoker.`cobblemon$create`(false))
|
||||
@JvmField
|
||||
val HEALER_SET_SPAWN: GameRules.Key<GameRules.BooleanValue> = Cobblemon.implementation.registerGameRule("healersSetSpawn", GameRules.Category.MISC, BooleanRuleInvoker.`cobblemon$create`(false))
|
||||
@JvmField
|
||||
val DO_POKEMON_PREDATION: GameRules.Key<GameRules.BooleanValue> = Cobblemon.implementation.registerGameRule("doPokemonPredation", GameRules.Category.MOBS, BooleanRuleInvoker.`cobblemon$create`(true))
|
||||
}
|
||||
+837
-649
File diff suppressed because it is too large.
Load diff
+6
@@ -456,6 +456,12 @@
|
||||
"cannon_left": {
|
||||
"position": [0, 0, 3]
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.25": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"1.25": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"2.25": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"3.25": "q.run_molang('cobblemon:stepsound_standard_large');"
|
||||
}
|
||||
},
|
||||
"animation.blastoise.ground_run": {
|
||||
|
||||
+12
@@ -1815,6 +1815,12 @@
|
||||
"wings_open": {
|
||||
"scale": 0
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.0": "q.run_molang('cobblemon:stepsound_claw_medium');",
|
||||
"0.5": "q.run_molang('cobblemon:stepsound_claw_medium');",
|
||||
"1.0": "q.run_molang('cobblemon:stepsound_claw_medium');",
|
||||
"1.5": "q.run_molang('cobblemon:stepsound_claw_medium');"
|
||||
}
|
||||
},
|
||||
"animation.pidgeot.mount_ground_idle": {
|
||||
@@ -3631,6 +3637,12 @@
|
||||
"wings_open": {
|
||||
"scale": 0
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.0": "q.run_molang('cobblemon:stepsound_claw_medium');",
|
||||
"0.5": "q.run_molang('cobblemon:stepsound_claw_medium');",
|
||||
"1.0": "q.run_molang('cobblemon:stepsound_claw_medium');",
|
||||
"1.5": "q.run_molang('cobblemon:stepsound_claw_medium');"
|
||||
}
|
||||
},
|
||||
"animation.pidgeot.ride_ground_walk": {
|
||||
|
||||
+11
@@ -83,6 +83,7 @@
|
||||
},
|
||||
"animation.parasect.ground_walk": {
|
||||
"loop": true,
|
||||
"animation_length": 1,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": [0, 0, 0],
|
||||
@@ -134,6 +135,12 @@
|
||||
"locator_seat_1": {
|
||||
"rotation": [7.5, 0, 0]
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.0": "q.run_molang('cobblemon:stepsound_minecraft');",
|
||||
"0.25": "q.run_molang('cobblemon:stepsound_minecraft');",
|
||||
"0.5": "q.run_molang('cobblemon:stepsound_minecraft');",
|
||||
"0.75": "q.run_molang('cobblemon:stepsound_minecraft');"
|
||||
}
|
||||
},
|
||||
"animation.parasect.ground_run": {
|
||||
@@ -258,6 +265,10 @@
|
||||
"rotation": ["5+Math.cos((query.anim_time) * 90 * 16 - 90) * 2", 0, 0],
|
||||
"position": [0, "0+Math.cos((query.anim_time) * 90 * 32) * -0.2", -0.25]
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.0": "q.run_molang('cobblemon:stepsound_minecraft');",
|
||||
"0.125": "q.run_molang('cobblemon:stepsound_minecraft');"
|
||||
}
|
||||
},
|
||||
"animation.parasect.ride_ground_run": {
|
||||
|
||||
+308
-74
@@ -1682,6 +1682,12 @@
|
||||
"1.3333": [10, 9, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.0": "q.run_molang('cobblemon:stepsound_standard_medium');",
|
||||
"0.4583": "q.run_molang('cobblemon:stepsound_standard_medium');",
|
||||
"0.6667": "q.run_molang('cobblemon:stepsound_standard_medium');",
|
||||
"1.125": "q.run_molang('cobblemon:stepsound_standard_medium');"
|
||||
}
|
||||
},
|
||||
"animation.arcanine.ride_ground_walk": {
|
||||
@@ -2639,6 +2645,12 @@
|
||||
"chest_fluff_right": {
|
||||
"rotation": [5, "-22.5+math.cos(q.anim_time*90*8-120)*15", "-math.sin(q.anim_time*90*8-120)*3"]
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.125": "q.run_molang('cobblemon:stepsound_standard_medium');",
|
||||
"0.2083": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"0.2917": "q.run_molang('cobblemon:stepsound_standard_medium');",
|
||||
"0.375": "q.run_molang('cobblemon:stepsound_standard_medium');"
|
||||
}
|
||||
},
|
||||
"animation.arcanine.ride_ground_run": {
|
||||
@@ -4161,41 +4173,101 @@
|
||||
"eye_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [-0.1, 0, 0.1]},
|
||||
"0.5": {"pre": [-0.1, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.4167": {"pre": [0, 0, 0], "post": [-0.1, 0, 0.1]},
|
||||
"1.6667": {"pre": [-0.1, 0, 0.1], "post": [0, 0, 0]},
|
||||
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.1667": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.1, 0, 0.1]
|
||||
},
|
||||
"0.5": {
|
||||
"pre": [-0.1, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.4167": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.1, 0, 0.1]
|
||||
},
|
||||
"1.6667": {
|
||||
"pre": [-0.1, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eye_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [0.1, 0, 0.1]},
|
||||
"0.5": {"pre": [0.1, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.4167": {"pre": [0, 0, 0], "post": [0.1, 0, 0.1]},
|
||||
"1.6667": {"pre": [0.1, 0, 0.1], "post": [0, 0, 0]},
|
||||
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.1667": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.1, 0, 0.1]
|
||||
},
|
||||
"0.5": {
|
||||
"pre": [0.1, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.4167": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.1, 0, 0.1]
|
||||
},
|
||||
"1.6667": {
|
||||
"pre": [0.1, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
|
||||
"0.5": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]},
|
||||
"1.4167": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
|
||||
"1.6667": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]},
|
||||
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.1667": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.1, 0, -0.1]
|
||||
},
|
||||
"0.5": {
|
||||
"pre": [0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.4167": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.1, 0, -0.1]
|
||||
},
|
||||
"1.6667": {
|
||||
"pre": [0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
|
||||
"0.5": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]},
|
||||
"1.4167": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
|
||||
"1.6667": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]},
|
||||
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.1667": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.1, 0, -0.1]
|
||||
},
|
||||
"0.5": {
|
||||
"pre": [-0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.4167": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.1, 0, -0.1]
|
||||
},
|
||||
"1.6667": {
|
||||
"pre": [-0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"jaw": {
|
||||
@@ -4823,41 +4895,101 @@
|
||||
"eye_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [-0.1, 0, 0.1]},
|
||||
"0.5": {"pre": [-0.1, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.4167": {"pre": [0, 0, 0], "post": [-0.1, 0, 0.1]},
|
||||
"1.6667": {"pre": [-0.1, 0, 0.1], "post": [0, 0, 0]},
|
||||
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.1667": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.1, 0, 0.1]
|
||||
},
|
||||
"0.5": {
|
||||
"pre": [-0.1, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.4167": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.1, 0, 0.1]
|
||||
},
|
||||
"1.6667": {
|
||||
"pre": [-0.1, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eye_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [0.1, 0, 0.1]},
|
||||
"0.5": {"pre": [0.1, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.4167": {"pre": [0, 0, 0], "post": [0.1, 0, 0.1]},
|
||||
"1.6667": {"pre": [0.1, 0, 0.1], "post": [0, 0, 0]},
|
||||
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.1667": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.1, 0, 0.1]
|
||||
},
|
||||
"0.5": {
|
||||
"pre": [0.1, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.4167": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.1, 0, 0.1]
|
||||
},
|
||||
"1.6667": {
|
||||
"pre": [0.1, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
|
||||
"0.5": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]},
|
||||
"1.4167": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
|
||||
"1.6667": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]},
|
||||
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.1667": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.1, 0, -0.1]
|
||||
},
|
||||
"0.5": {
|
||||
"pre": [0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.4167": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.1, 0, -0.1]
|
||||
},
|
||||
"1.6667": {
|
||||
"pre": [0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
|
||||
"0.5": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]},
|
||||
"1.4167": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
|
||||
"1.6667": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]},
|
||||
"2.5": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.1667": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.1, 0, -0.1]
|
||||
},
|
||||
"0.5": {
|
||||
"pre": [-0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.4167": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.1, 0, -0.1]
|
||||
},
|
||||
"1.6667": {
|
||||
"pre": [-0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.5": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"jaw": {
|
||||
@@ -5287,14 +5419,20 @@
|
||||
"position": {
|
||||
"0.0": [-0.1, 0, 0.1],
|
||||
"0.125": [-0.1, 0, 0.1],
|
||||
"0.1667": {"pre": [-0.1, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.1667": {
|
||||
"pre": [-0.1, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eye_right": {
|
||||
"position": {
|
||||
"0.0": [0.1, 0, 0.1],
|
||||
"0.125": [0.1, 0, 0.1],
|
||||
"0.1667": {"pre": [0.1, 0, 0.1], "post": [0, 0, 0]}
|
||||
"0.1667": {
|
||||
"pre": [0.1, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5491,47 +5629,95 @@
|
||||
"eye_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0417": {"pre": [0, 0, 0], "post": [-0.2, 0, 0.1]},
|
||||
"0.3333": {"pre": [-0.2, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.2, 0, 0.1]
|
||||
},
|
||||
"0.3333": {
|
||||
"pre": [-0.2, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eye_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0417": {"pre": [0, 0, 0], "post": [0.2, 0, 0.1]},
|
||||
"0.3333": {"pre": [0.2, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.2, 0, 0.1]
|
||||
},
|
||||
"0.3333": {
|
||||
"pre": [0.2, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0417": {"pre": [0, 0, 0], "post": [-0.2, 0, 0.1]},
|
||||
"0.3333": {"pre": [-0.2, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.2, 0, 0.1]
|
||||
},
|
||||
"0.3333": {
|
||||
"pre": [-0.2, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0417": {"pre": [0, 0, 0], "post": [0.2, 0, 0.1]},
|
||||
"0.3333": {"pre": [0.2, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.2, 0, 0.1]
|
||||
},
|
||||
"0.3333": {
|
||||
"pre": [0.2, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_left_hurt": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0417": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
|
||||
"0.3333": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.1, 0, -0.1]
|
||||
},
|
||||
"0.3333": {
|
||||
"pre": [0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_right_hurt": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0417": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
|
||||
"0.3333": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.1, 0, -0.1]
|
||||
},
|
||||
"0.3333": {
|
||||
"pre": [-0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"jaw": {
|
||||
@@ -6238,47 +6424,95 @@
|
||||
"eye_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0417": {"pre": [0, 0, 0], "post": [-0.2, 0, 0.1]},
|
||||
"0.3333": {"pre": [-0.2, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.2, 0, 0.1]
|
||||
},
|
||||
"0.3333": {
|
||||
"pre": [-0.2, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eye_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0417": {"pre": [0, 0, 0], "post": [0.2, 0, 0.1]},
|
||||
"0.3333": {"pre": [0.2, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.2, 0, 0.1]
|
||||
},
|
||||
"0.3333": {
|
||||
"pre": [0.2, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0417": {"pre": [0, 0, 0], "post": [-0.2, 0, 0.1]},
|
||||
"0.3333": {"pre": [-0.2, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.2, 0, 0.1]
|
||||
},
|
||||
"0.3333": {
|
||||
"pre": [-0.2, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0417": {"pre": [0, 0, 0], "post": [0.2, 0, 0.1]},
|
||||
"0.3333": {"pre": [0.2, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.25": {"pre": [0, 0, 0], "post": [0, 0, 0]}
|
||||
"0.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.2, 0, 0.1]
|
||||
},
|
||||
"0.3333": {
|
||||
"pre": [0.2, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_left_hurt": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0417": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
|
||||
"0.3333": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.1, 0, -0.1]
|
||||
},
|
||||
"0.3333": {
|
||||
"pre": [0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_right_hurt": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.0417": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
|
||||
"0.3333": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.1, 0, -0.1]
|
||||
},
|
||||
"0.3333": {
|
||||
"pre": [-0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"jaw": {
|
||||
|
||||
+4
@@ -391,6 +391,10 @@
|
||||
"0.7083": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.0833": "q.run_molang('cobblemon:stepsound_standard_medium');",
|
||||
"0.2917": "q.run_molang('cobblemon:stepsound_standard_medium');"
|
||||
}
|
||||
},
|
||||
"animation.dewgong.water_idle": {
|
||||
|
||||
+20
@@ -1071,6 +1071,16 @@
|
||||
"head": {
|
||||
"rotation": ["-0.8*math.cos(q.anim_time*90*8-120)", 0, "3*math.sin(q.anim_time*90*4+70)"]
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.0": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"0.5": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"1.0": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"1.5": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"2.0": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"2.5": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"3.0": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"3.5": "q.run_molang('cobblemon:stepsound_standard_large');"
|
||||
}
|
||||
},
|
||||
"animation.rhyhorn.ride_ground_walk": {
|
||||
@@ -1917,6 +1927,16 @@
|
||||
],
|
||||
"position": [0, "0.4+0.6*math.cos(q.anim_time*90*8-120)", 0]
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.0": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"0.375": "q.run_molang('cobblemon:stepsound_standard_medium');",
|
||||
"0.5": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"0.875": "q.run_molang('cobblemon:stepsound_standard_medium');",
|
||||
"1.0": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"1.375": "q.run_molang('cobblemon:stepsound_standard_medium');",
|
||||
"1.5": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"1.875": "q.run_molang('cobblemon:stepsound_standard_medium');"
|
||||
}
|
||||
},
|
||||
"animation.rhyhorn.ride_ground_run": {
|
||||
|
||||
+12
@@ -329,6 +329,12 @@
|
||||
"locator_seat_1": {
|
||||
"rotation": [-15, 0, 0]
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.0": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"1.0": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"2.0": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"3.0": "q.run_molang('cobblemon:stepsound_standard_large');"
|
||||
}
|
||||
},
|
||||
"animation.rhydon.ride_ground_walk": {
|
||||
@@ -807,6 +813,12 @@
|
||||
"locator_seat_1": {
|
||||
"rotation": [-15, 0, 0]
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.3333": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"0.8333": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"1.3333": "q.run_molang('cobblemon:stepsound_standard_large');",
|
||||
"1.8333": "q.run_molang('cobblemon:stepsound_standard_large');"
|
||||
}
|
||||
},
|
||||
"animation.rhydon.ride_ground_run": {
|
||||
|
||||
+4
@@ -391,6 +391,10 @@
|
||||
"1.0": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.0833": "q.run_molang('cobblemon:stepsound_minecraft');",
|
||||
"0.5833": "q.run_molang('cobblemon:stepsound_minecraft');"
|
||||
}
|
||||
},
|
||||
"animation.mr_mime.ground_run": {
|
||||
|
||||
+8
@@ -3150,6 +3150,10 @@
|
||||
"locator_seat_2": {
|
||||
"rotation": [45, 0, 0]
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.5": "q.run_molang('cobblemon:stepsound_claw_large');",
|
||||
"1.5": "q.run_molang('cobblemon:stepsound_claw_large');"
|
||||
}
|
||||
},
|
||||
"animation.corviknight.ground_run": {
|
||||
@@ -4473,6 +4477,10 @@
|
||||
"locator_seat_2": {
|
||||
"rotation": [25, 0, 0]
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.3333": "q.run_molang('cobblemon:stepsound_claw_large');",
|
||||
"0.8333": "q.run_molang('cobblemon:stepsound_claw_large');"
|
||||
}
|
||||
},
|
||||
"animation.corviknight.air_idle": {
|
||||
|
||||
+56
-10
@@ -566,6 +566,12 @@
|
||||
"1.5": [0, 0.2, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.5417": "q.run_molang('cobblemon:stepsound_hoof_medium');",
|
||||
"0.7083": "q.run_molang('cobblemon:stepsound_hoof_medium');",
|
||||
"1.2917": "q.run_molang('cobblemon:stepsound_hoof_medium');",
|
||||
"1.4583": "q.run_molang('cobblemon:stepsound_hoof_medium');"
|
||||
}
|
||||
},
|
||||
"animation.wyrdeer.sleep": {
|
||||
@@ -780,15 +786,27 @@
|
||||
"eyelid_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
|
||||
"0.5": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.1, 0, -0.1]
|
||||
},
|
||||
"0.5": {
|
||||
"pre": [-0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
|
||||
"0.5": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.1, 0, -0.1]
|
||||
},
|
||||
"0.5": {
|
||||
"pre": [0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"ear_right": {
|
||||
@@ -1186,18 +1204,36 @@
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"1.5833": [-0.1, 0, -0.1],
|
||||
"1.6667": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]},
|
||||
"3.0": {"pre": [0, 0, 0], "post": [-0.1, 0, -0.1]},
|
||||
"3.125": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
|
||||
"1.6667": {
|
||||
"pre": [-0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"3.0": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [-0.1, 0, -0.1]
|
||||
},
|
||||
"3.125": {
|
||||
"pre": [-0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyelid_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"1.5833": [0.1, 0, -0.1],
|
||||
"1.6667": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]},
|
||||
"3.0": {"pre": [0, 0, 0], "post": [0.1, 0, -0.1]},
|
||||
"3.125": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
|
||||
"1.6667": {
|
||||
"pre": [0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"3.0": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0.1, 0, -0.1]
|
||||
},
|
||||
"3.125": {
|
||||
"pre": [0.1, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"tail": {
|
||||
@@ -2204,6 +2240,16 @@
|
||||
"1.1667": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"0.2083": "q.run_molang('cobblemon:stepsound_hoof_medium');",
|
||||
"0.2917": "q.run_molang('cobblemon:stepsound_hoof_medium');",
|
||||
"0.375": "q.run_molang('cobblemon:stepsound_hoof_medium');",
|
||||
"0.4583": "q.run_molang('cobblemon:stepsound_hoof_large');",
|
||||
"0.7917": "q.run_molang('cobblemon:stepsound_hoof_medium');",
|
||||
"0.875": "q.run_molang('cobblemon:stepsound_hoof_medium');",
|
||||
"0.9583": "q.run_molang('cobblemon:stepsound_hoof_medium');",
|
||||
"1.0417": "q.run_molang('cobblemon:stepsound_hoof_large');"
|
||||
}
|
||||
},
|
||||
"animation.wyrdeer.ride_jump": {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -959,6 +959,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",
|
||||
@@ -1267,8 +1307,6 @@
|
||||
"cobblemon.ui.info.ability": "Ability",
|
||||
"cobblemon.ui.info.experience_points": "Exp. Points",
|
||||
"cobblemon.ui.info.to_next_level": "To Next Lv.",
|
||||
"cobblemon.ui.info.met_data": "Met in %1$s on %2$s/%3$s/%4$s at Lv.%5$s",
|
||||
"cobblemon.ui.info.met_data_unavailable": "Met a long time ago",
|
||||
"cobblemon.ui.trade": "Trade",
|
||||
"cobblemon.trade.expired.sender": "Your request to trade with %1$s has timed out!",
|
||||
"cobblemon.trade.expired.receiver": "The trade request from %1$s has timed out!",
|
||||
@@ -2436,6 +2474,8 @@
|
||||
"cobblemon.config.ui.max_pokemon_level.tooltip": "The maximum level Pokémon can get to.",
|
||||
"cobblemon.config.ui.max_pokemon_friendship": "Max Pokémon Friendship",
|
||||
"cobblemon.config.ui.max_pokemon_friendship.tooltip": "The maximum friendship value.",
|
||||
"cobblemon.config.ui.power_item_ride_stat_gain_interval_seconds": "Power Item Riding Stat Training Interval (Seconds)",
|
||||
"cobblemon.config.ui.power_item_ride_stat_gain_interval_seconds.tooltip": "Seconds between riding stat gains while riding a Pokémon holding a Power item. Defaults to 120 seconds. Set to -1 or 0 to disable; values below -1 are clamped to -1.",
|
||||
"cobblemon.config.ui.announce_drop_items": "Announce Drop Items",
|
||||
"cobblemon.config.ui.announce_drop_items.tooltip": "Whether to notify the Player of dropped items from defeating wild Pokémon.",
|
||||
"cobblemon.config.ui.default_drop_item_method": "Default Drop Item Method",
|
||||
|
||||
Loaded 100 of 823 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user