[READ-ONLY] Mirror of https://github.com/aaronateataco/pets-and-pals. Pets & Pals — client-side companion pets with real presence. Fork/redesign of downloadableduck's Pets Mod.
0

Configure Feed

Select the types of activity you want to include in your feed.

Raft wood styles, taut-rope tow physics, water lock

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

aaronateataco (Jul 11, 2026, 9:37 AM +0100) c03ea6e5 1a705969

+4314 -21
+5
CHANGELOG.md
··· 1 1 # Changelog 2 2 3 + ## 0.14.0 4 + - Raft wood is now customizable: 12 plank styles (oak through warped) selectable in the Menagerie, using the game's own textures so resource packs restyle them 5 + - Realistic tow physics: the raft trails BEHIND your boat on a taut-rope model - it drifts with water drag, gets yanked when the rope tightens, and swings wide through turns 6 + - Rafts are locked to water: they can never slide onto land 7 + 3 8 ## 0.13.1 4 9 - Sprinting pets now swim properly at the water surface instead of wallowing when the route crosses water 5 10 - Parkour: sprinting pets leap gaps when there's a landing within a few blocks, and hop steps before bumping into them
+1 -1
gradle.properties
··· 12 12 loom_version=1.14-SNAPSHOT 13 13 14 14 # Mod Properties 15 - mod_version=0.13.1 15 + mod_version=0.14.0 16 16 maven_group=io.github.aaronateataco.petsandpals 17 17 archives_base_name=pets-and-pals 18 18
+7
src/client/java/io/github/aaronateataco/petsandpals/Central.java
··· 870 870 if (CONFIG.petVolume == null) CONFIG.petVolume = 1.0f; 871 871 AbstractPet.speedMultiplier = () -> CONFIG.petSpeed; 872 872 AbstractPet.soundVolume = () -> CONFIG.petVolume; 873 + if (CONFIG.raftWood == null) CONFIG.raftWood = "spruce"; 874 + AbstractPet.raftStyle = () -> { 875 + for (int i = 0; i < io.github.aaronateataco.petsandpals.mob.PetRaftBlock.WOODS.length; i++) { 876 + if (io.github.aaronateataco.petsandpals.mob.PetRaftBlock.WOODS[i].equals(CONFIG.raftWood)) return i; 877 + } 878 + return 1; 879 + }; 873 880 AbstractPet.firstPersonView = () -> Minecraft.getInstance().options.getCameraType().isFirstPerson(); 874 881 AbstractPet.clientEntitySpawner = entity -> { 875 882 if (Minecraft.getInstance().level != null) {
+1
src/client/java/io/github/aaronateataco/petsandpals/PetsConfig.java
··· 20 20 public String activePet; 21 21 public float petSpeed = 1.0f; 22 22 public Float petVolume = 1.0f; 23 + public String raftWood = "spruce"; 23 24 public String penguinName; 24 25 public String duckName; 25 26 public String racoonName;
+13
src/client/java/io/github/aaronateataco/petsandpals/gui/MenagerieScreen.java
··· 150 150 y += 24; 151 151 this.addRenderableWidget(new PercentSlider(panelX, y, PANEL_WIDTH, 20, "Volume", 0.0, 1.0, 152 152 CONFIG.petVolume == null ? 1.0f : CONFIG.petVolume, value -> CONFIG.petVolume = (float) value)); 153 + y += 24; 154 + this.addRenderableWidget(Button.builder(this.raftWoodLabel(), b -> { 155 + String[] woods = io.github.aaronateataco.petsandpals.mob.PetRaftBlock.WOODS; 156 + int i = java.util.Arrays.asList(woods).indexOf(CONFIG.raftWood); 157 + CONFIG.raftWood = woods[(i + 1) % woods.length]; 158 + b.setMessage(this.raftWoodLabel()); 159 + }).bounds(panelX, y, PANEL_WIDTH, 20).build()); 153 160 y += 28; 154 161 this.addRenderableWidget(Button.builder(Component.literal("Advanced settings..."), b -> { 155 162 if (this.minecraft != null) { ··· 191 198 192 199 private int pageSize() { 193 200 return this.columns * this.rows; 201 + } 202 + 203 + private Component raftWoodLabel() { 204 + String wood = CONFIG.raftWood == null ? "spruce" : CONFIG.raftWood; 205 + String pretty = wood.replace('_', ' '); 206 + return Component.literal("Raft: " + Character.toUpperCase(pretty.charAt(0)) + pretty.substring(1)); 194 207 } 195 208 196 209 private Component petToggleLabel() {
+3 -2
src/main/java/io/github/aaronateataco/petsandpals/PetsInitializer.java
··· 3 3 import io.github.aaronateataco.petsandpals.mob.PetDwelling; 4 4 import io.github.aaronateataco.petsandpals.mob.PetOrb; 5 5 import io.github.aaronateataco.petsandpals.mob.PetRaft; 6 + import io.github.aaronateataco.petsandpals.mob.PetRaftBlock; 6 7 import io.github.aaronateataco.petsandpals.mob.aprilfools.*; 7 8 import io.github.aaronateataco.petsandpals.mob.custom.aprilfools.Head; 8 9 import io.github.aaronateataco.petsandpals.mob.custom.aquatic.DumboOctopus; ··· 56 57 private static final ResourceKey<net.minecraft.world.level.block.@NotNull Block> PET_RAFT_BLOCK_KEY = 57 58 ResourceKey.create(Registries.BLOCK, Identifier.fromNamespaceAndPath(MOD_ID, "pet_raft")); 58 59 /** Never placed in the world; exists so the raft entity has a block model to render. */ 59 - public static final net.minecraft.world.level.block.Block PET_RAFT_BLOCK = Registry.register( 60 + public static final PetRaftBlock PET_RAFT_BLOCK = Registry.register( 60 61 BuiltInRegistries.BLOCK, 61 62 Identifier.fromNamespaceAndPath(MOD_ID, "pet_raft"), 62 - new net.minecraft.world.level.block.Block( 63 + new PetRaftBlock( 63 64 net.minecraft.world.level.block.state.BlockBehaviour.Properties.of() 64 65 .setId(PET_RAFT_BLOCK_KEY) 65 66 .noCollision()
+3
src/main/java/io/github/aaronateataco/petsandpals/mob/AbstractPet.java
··· 70 70 /** True while in first person, wired up in Central. */ 71 71 public static java.util.function.BooleanSupplier firstPersonView = () -> true; 72 72 73 + /** Raft wood style index (see PetRaftBlock.WOODS), wired up in Central. */ 74 + public static java.util.function.IntSupplier raftStyle = () -> 1; 75 + 73 76 /** Adds an entity to the client level, wired up in Central. */ 74 77 public static java.util.function.Consumer<net.minecraft.world.entity.Entity> clientEntitySpawner = e -> {}; 75 78
+33 -16
src/main/java/io/github/aaronateataco/petsandpals/mob/PetRaft.java
··· 32 32 33 33 public static PetRaft create(Level level, AbstractPet pet, AbstractBoat boat) { 34 34 PetRaft raft = new PetRaft(PetsInitializer.PET_RAFT, level); 35 - raft.blockState = PetsInitializer.PET_RAFT_BLOCK.defaultBlockState(); 35 + raft.blockState = PetsInitializer.PET_RAFT_BLOCK.defaultBlockState() 36 + .setValue(PetRaftBlock.STYLE, Math.floorMod(AbstractPet.raftStyle.getAsInt(), PetRaftBlock.WOODS.length)); 36 37 raft.pet = pet; 37 38 Vec3 side = sideAnchor(boat); 38 39 raft.setPos(side.x, side.y, side.z); ··· 50 51 this.leashData = leashData; 51 52 } 52 53 54 + private static final double ROPE_LENGTH = 2.8; 55 + 53 56 private static Vec3 sideAnchor(AbstractBoat boat) { 57 + // spawn position: directly behind the boat 54 58 float rad = boat.getYRot() * ((float) Math.PI / 180.0F); 55 - Vec3 right = new Vec3(-Mth.cos(rad), 0.0, -Mth.sin(rad)); 56 - return boat.position().add(right.scale(2.3)); 59 + Vec3 forward = new Vec3(-Mth.sin(rad), 0.0, Mth.cos(rad)); 60 + return boat.position().subtract(forward.scale(ROPE_LENGTH)); 57 61 } 58 62 59 63 @Override ··· 70 74 return; 71 75 } 72 76 73 - // towed-feel physics: spring toward the anchor with damping so the raft 74 - // swings wide in turns and settles, instead of gliding on rails 75 - Vec3 anchor = sideAnchor(boat); 76 - double surface = this.waterSurfaceY(anchor.x, boat.getY(), anchor.z); 77 - anchor = new Vec3(anchor.x, surface - 0.01 + 0.02 * Math.sin(this.tickCount * 0.09), anchor.z); 78 - Vec3 delta = anchor.subtract(this.position()); 79 - if (delta.length() > 12.0) { 80 - this.snapTo(anchor.x, anchor.y, anchor.z, 0.0F, 0.0F); 77 + // rope physics: the raft is pulled only when the rope to the boat goes taut, 78 + // drifts with water drag otherwise - it trails behind, swings wide in turns, 79 + // and straightens out when cruising 80 + Vec3 toBoat = new Vec3(boat.getX() - this.getX(), 0.0, boat.getZ() - this.getZ()); 81 + double ropeDistance = toBoat.length(); 82 + if (ropeDistance > 14.0) { 83 + Vec3 reset = sideAnchor(boat); 84 + double y0 = this.waterSurfaceY(reset.x, boat.getY(), reset.z); 85 + this.snapTo(reset.x, y0 - 0.01, reset.z, 0.0F, 0.0F); 81 86 this.velocity = Vec3.ZERO; 82 87 } else { 83 - this.velocity = this.velocity.add(delta.scale(0.06)).scale(0.80); 84 - Vec3 next = this.position().add(this.velocity); 85 - this.setPos(next.x, next.y, next.z); 88 + if (ropeDistance > ROPE_LENGTH) { 89 + this.velocity = this.velocity.add(toBoat.scale((ropeDistance - ROPE_LENGTH) * 0.12 / ropeDistance)); 90 + } 91 + this.velocity = this.velocity.scale(0.86); 92 + double nextX = this.getX() + this.velocity.x; 93 + double nextZ = this.getZ() + this.velocity.z; 94 + // locked to water: never slides onto land - if the next column has no water, 95 + // stay put and bleed the motion off 96 + double surface = this.waterSurfaceY(nextX, boat.getY(), nextZ); 97 + if (surface == Double.MIN_VALUE) { 98 + this.velocity = this.velocity.scale(0.3); 99 + } else { 100 + double bob = 0.02 * Math.sin(this.tickCount * 0.09); 101 + this.setPos(nextX, surface - 0.01 + bob, nextZ); 102 + } 86 103 } 87 104 88 105 // pet rides the deck (hull is 1px, deck top is +0.0625) ··· 111 128 this.pet.setYHeadRot(Mth.approachDegrees(this.pet.getYHeadRot(), headYaw, 4.0F)); 112 129 } 113 130 114 - // actual water surface at this column, so the hull sits ON the water 131 + // actual water surface at this column; MIN_VALUE when there's no water (land) 115 132 private double waterSurfaceY(double x, double aroundY, double z) { 116 133 for (int dy = 2; dy >= -2; dy--) { 117 134 net.minecraft.core.BlockPos pos = net.minecraft.core.BlockPos.containing(x, aroundY + dy, z); ··· 120 137 return pos.getY() + fluid.getHeight(this.level(), pos); 121 138 } 122 139 } 123 - return aroundY + 0.45; 140 + return Double.MIN_VALUE; 124 141 } 125 142 126 143 private void release() {
+25
src/main/java/io/github/aaronateataco/petsandpals/mob/PetRaftBlock.java
··· 1 + package io.github.aaronateataco.petsandpals.mob; 2 + 3 + import net.minecraft.world.level.block.Block; 4 + import net.minecraft.world.level.block.state.BlockState; 5 + import net.minecraft.world.level.block.state.StateDefinition; 6 + import net.minecraft.world.level.block.state.properties.IntegerProperty; 7 + import org.jetbrains.annotations.NotNull; 8 + 9 + /** Never placed in the world; carries the raft wood style for rendering. */ 10 + public class PetRaftBlock extends Block { 11 + 12 + public static final String[] WOODS = {"oak", "spruce", "birch", "jungle", "acacia", "dark_oak", 13 + "mangrove", "cherry", "pale_oak", "bamboo", "crimson", "warped"}; 14 + public static final IntegerProperty STYLE = IntegerProperty.create("style", 0, WOODS.length - 1); 15 + 16 + public PetRaftBlock(Properties properties) { 17 + super(properties); 18 + this.registerDefaultState(this.getStateDefinition().any().setValue(STYLE, 1)); 19 + } 20 + 21 + @Override 22 + protected void createBlockStateDefinition(StateDefinition.@NotNull Builder<Block, BlockState> builder) { 23 + builder.add(STYLE); 24 + } 25 + }
+35 -2
src/main/resources/assets/pets-and-pals/blockstates/pet_raft.json
··· 1 1 { 2 2 "variants": { 3 - "": { 4 - "model": "pets-and-pals:block/pet_raft" 3 + "style=0": { 4 + "model": "pets-and-pals:block/pet_raft_oak" 5 + }, 6 + "style=1": { 7 + "model": "pets-and-pals:block/pet_raft_spruce" 8 + }, 9 + "style=2": { 10 + "model": "pets-and-pals:block/pet_raft_birch" 11 + }, 12 + "style=3": { 13 + "model": "pets-and-pals:block/pet_raft_jungle" 14 + }, 15 + "style=4": { 16 + "model": "pets-and-pals:block/pet_raft_acacia" 17 + }, 18 + "style=5": { 19 + "model": "pets-and-pals:block/pet_raft_dark_oak" 20 + }, 21 + "style=6": { 22 + "model": "pets-and-pals:block/pet_raft_mangrove" 23 + }, 24 + "style=7": { 25 + "model": "pets-and-pals:block/pet_raft_cherry" 26 + }, 27 + "style=8": { 28 + "model": "pets-and-pals:block/pet_raft_pale_oak" 29 + }, 30 + "style=9": { 31 + "model": "pets-and-pals:block/pet_raft_bamboo" 32 + }, 33 + "style=10": { 34 + "model": "pets-and-pals:block/pet_raft_crimson" 35 + }, 36 + "style=11": { 37 + "model": "pets-and-pals:block/pet_raft_warped" 5 38 } 6 39 } 7 40 }
+349
src/main/resources/assets/pets-and-pals/models/block/pet_raft_acacia.json
··· 1 + { 2 + "credit": "model by aaronateataco", 3 + "textures": { 4 + "planks": "minecraft:block/acacia_planks", 5 + "particle": "minecraft:block/acacia_planks" 6 + }, 7 + "elements": [ 8 + { 9 + "from": [ 10 + 1, 11 + 0, 12 + 1 13 + ], 14 + "to": [ 15 + 15, 16 + 1, 17 + 15 18 + ], 19 + "faces": { 20 + "north": { 21 + "uv": [ 22 + 1, 23 + 15, 24 + 15, 25 + 16 26 + ], 27 + "texture": "#planks" 28 + }, 29 + "east": { 30 + "uv": [ 31 + 1, 32 + 15, 33 + 15, 34 + 16 35 + ], 36 + "texture": "#planks" 37 + }, 38 + "south": { 39 + "uv": [ 40 + 1, 41 + 15, 42 + 15, 43 + 16 44 + ], 45 + "texture": "#planks" 46 + }, 47 + "west": { 48 + "uv": [ 49 + 1, 50 + 15, 51 + 15, 52 + 16 53 + ], 54 + "texture": "#planks" 55 + }, 56 + "up": { 57 + "uv": [ 58 + 1, 59 + 1, 60 + 15, 61 + 15 62 + ], 63 + "texture": "#planks" 64 + }, 65 + "down": { 66 + "uv": [ 67 + 1, 68 + 1, 69 + 15, 70 + 15 71 + ], 72 + "texture": "#planks" 73 + } 74 + } 75 + }, 76 + { 77 + "from": [ 78 + 1, 79 + 0, 80 + 0 81 + ], 82 + "to": [ 83 + 15, 84 + 3, 85 + 1 86 + ], 87 + "faces": { 88 + "north": { 89 + "uv": [ 90 + 1, 91 + 13, 92 + 15, 93 + 16 94 + ], 95 + "texture": "#planks" 96 + }, 97 + "east": { 98 + "uv": [ 99 + 0, 100 + 13, 101 + 1, 102 + 16 103 + ], 104 + "texture": "#planks" 105 + }, 106 + "south": { 107 + "uv": [ 108 + 1, 109 + 13, 110 + 15, 111 + 16 112 + ], 113 + "texture": "#planks" 114 + }, 115 + "west": { 116 + "uv": [ 117 + 0, 118 + 13, 119 + 1, 120 + 16 121 + ], 122 + "texture": "#planks" 123 + }, 124 + "up": { 125 + "uv": [ 126 + 1, 127 + 0, 128 + 15, 129 + 1 130 + ], 131 + "texture": "#planks" 132 + }, 133 + "down": { 134 + "uv": [ 135 + 1, 136 + 0, 137 + 15, 138 + 1 139 + ], 140 + "texture": "#planks" 141 + } 142 + } 143 + }, 144 + { 145 + "from": [ 146 + 1, 147 + 0, 148 + 15 149 + ], 150 + "to": [ 151 + 15, 152 + 3, 153 + 16 154 + ], 155 + "faces": { 156 + "north": { 157 + "uv": [ 158 + 1, 159 + 13, 160 + 15, 161 + 16 162 + ], 163 + "texture": "#planks" 164 + }, 165 + "east": { 166 + "uv": [ 167 + 15, 168 + 13, 169 + 16, 170 + 16 171 + ], 172 + "texture": "#planks" 173 + }, 174 + "south": { 175 + "uv": [ 176 + 1, 177 + 13, 178 + 15, 179 + 16 180 + ], 181 + "texture": "#planks" 182 + }, 183 + "west": { 184 + "uv": [ 185 + 15, 186 + 13, 187 + 16, 188 + 16 189 + ], 190 + "texture": "#planks" 191 + }, 192 + "up": { 193 + "uv": [ 194 + 1, 195 + 15, 196 + 15, 197 + 16 198 + ], 199 + "texture": "#planks" 200 + }, 201 + "down": { 202 + "uv": [ 203 + 1, 204 + 15, 205 + 15, 206 + 16 207 + ], 208 + "texture": "#planks" 209 + } 210 + } 211 + }, 212 + { 213 + "from": [ 214 + 0, 215 + 0, 216 + 0 217 + ], 218 + "to": [ 219 + 1, 220 + 3, 221 + 16 222 + ], 223 + "faces": { 224 + "north": { 225 + "uv": [ 226 + 0, 227 + 13, 228 + 1, 229 + 16 230 + ], 231 + "texture": "#planks" 232 + }, 233 + "east": { 234 + "uv": [ 235 + 0, 236 + 13, 237 + 16, 238 + 16 239 + ], 240 + "texture": "#planks" 241 + }, 242 + "south": { 243 + "uv": [ 244 + 0, 245 + 13, 246 + 1, 247 + 16 248 + ], 249 + "texture": "#planks" 250 + }, 251 + "west": { 252 + "uv": [ 253 + 0, 254 + 13, 255 + 16, 256 + 16 257 + ], 258 + "texture": "#planks" 259 + }, 260 + "up": { 261 + "uv": [ 262 + 0, 263 + 0, 264 + 1, 265 + 16 266 + ], 267 + "texture": "#planks" 268 + }, 269 + "down": { 270 + "uv": [ 271 + 0, 272 + 0, 273 + 1, 274 + 16 275 + ], 276 + "texture": "#planks" 277 + } 278 + } 279 + }, 280 + { 281 + "from": [ 282 + 15, 283 + 0, 284 + 0 285 + ], 286 + "to": [ 287 + 16, 288 + 3, 289 + 16 290 + ], 291 + "faces": { 292 + "north": { 293 + "uv": [ 294 + 15, 295 + 13, 296 + 16, 297 + 16 298 + ], 299 + "texture": "#planks" 300 + }, 301 + "east": { 302 + "uv": [ 303 + 0, 304 + 13, 305 + 16, 306 + 16 307 + ], 308 + "texture": "#planks" 309 + }, 310 + "south": { 311 + "uv": [ 312 + 15, 313 + 13, 314 + 16, 315 + 16 316 + ], 317 + "texture": "#planks" 318 + }, 319 + "west": { 320 + "uv": [ 321 + 0, 322 + 13, 323 + 16, 324 + 16 325 + ], 326 + "texture": "#planks" 327 + }, 328 + "up": { 329 + "uv": [ 330 + 15, 331 + 0, 332 + 16, 333 + 16 334 + ], 335 + "texture": "#planks" 336 + }, 337 + "down": { 338 + "uv": [ 339 + 15, 340 + 0, 341 + 16, 342 + 16 343 + ], 344 + "texture": "#planks" 345 + } 346 + } 347 + } 348 + ] 349 + }
+349
src/main/resources/assets/pets-and-pals/models/block/pet_raft_bamboo.json
··· 1 + { 2 + "credit": "model by aaronateataco", 3 + "textures": { 4 + "planks": "minecraft:block/bamboo_planks", 5 + "particle": "minecraft:block/bamboo_planks" 6 + }, 7 + "elements": [ 8 + { 9 + "from": [ 10 + 1, 11 + 0, 12 + 1 13 + ], 14 + "to": [ 15 + 15, 16 + 1, 17 + 15 18 + ], 19 + "faces": { 20 + "north": { 21 + "uv": [ 22 + 1, 23 + 15, 24 + 15, 25 + 16 26 + ], 27 + "texture": "#planks" 28 + }, 29 + "east": { 30 + "uv": [ 31 + 1, 32 + 15, 33 + 15, 34 + 16 35 + ], 36 + "texture": "#planks" 37 + }, 38 + "south": { 39 + "uv": [ 40 + 1, 41 + 15, 42 + 15, 43 + 16 44 + ], 45 + "texture": "#planks" 46 + }, 47 + "west": { 48 + "uv": [ 49 + 1, 50 + 15, 51 + 15, 52 + 16 53 + ], 54 + "texture": "#planks" 55 + }, 56 + "up": { 57 + "uv": [ 58 + 1, 59 + 1, 60 + 15, 61 + 15 62 + ], 63 + "texture": "#planks" 64 + }, 65 + "down": { 66 + "uv": [ 67 + 1, 68 + 1, 69 + 15, 70 + 15 71 + ], 72 + "texture": "#planks" 73 + } 74 + } 75 + }, 76 + { 77 + "from": [ 78 + 1, 79 + 0, 80 + 0 81 + ], 82 + "to": [ 83 + 15, 84 + 3, 85 + 1 86 + ], 87 + "faces": { 88 + "north": { 89 + "uv": [ 90 + 1, 91 + 13, 92 + 15, 93 + 16 94 + ], 95 + "texture": "#planks" 96 + }, 97 + "east": { 98 + "uv": [ 99 + 0, 100 + 13, 101 + 1, 102 + 16 103 + ], 104 + "texture": "#planks" 105 + }, 106 + "south": { 107 + "uv": [ 108 + 1, 109 + 13, 110 + 15, 111 + 16 112 + ], 113 + "texture": "#planks" 114 + }, 115 + "west": { 116 + "uv": [ 117 + 0, 118 + 13, 119 + 1, 120 + 16 121 + ], 122 + "texture": "#planks" 123 + }, 124 + "up": { 125 + "uv": [ 126 + 1, 127 + 0, 128 + 15, 129 + 1 130 + ], 131 + "texture": "#planks" 132 + }, 133 + "down": { 134 + "uv": [ 135 + 1, 136 + 0, 137 + 15, 138 + 1 139 + ], 140 + "texture": "#planks" 141 + } 142 + } 143 + }, 144 + { 145 + "from": [ 146 + 1, 147 + 0, 148 + 15 149 + ], 150 + "to": [ 151 + 15, 152 + 3, 153 + 16 154 + ], 155 + "faces": { 156 + "north": { 157 + "uv": [ 158 + 1, 159 + 13, 160 + 15, 161 + 16 162 + ], 163 + "texture": "#planks" 164 + }, 165 + "east": { 166 + "uv": [ 167 + 15, 168 + 13, 169 + 16, 170 + 16 171 + ], 172 + "texture": "#planks" 173 + }, 174 + "south": { 175 + "uv": [ 176 + 1, 177 + 13, 178 + 15, 179 + 16 180 + ], 181 + "texture": "#planks" 182 + }, 183 + "west": { 184 + "uv": [ 185 + 15, 186 + 13, 187 + 16, 188 + 16 189 + ], 190 + "texture": "#planks" 191 + }, 192 + "up": { 193 + "uv": [ 194 + 1, 195 + 15, 196 + 15, 197 + 16 198 + ], 199 + "texture": "#planks" 200 + }, 201 + "down": { 202 + "uv": [ 203 + 1, 204 + 15, 205 + 15, 206 + 16 207 + ], 208 + "texture": "#planks" 209 + } 210 + } 211 + }, 212 + { 213 + "from": [ 214 + 0, 215 + 0, 216 + 0 217 + ], 218 + "to": [ 219 + 1, 220 + 3, 221 + 16 222 + ], 223 + "faces": { 224 + "north": { 225 + "uv": [ 226 + 0, 227 + 13, 228 + 1, 229 + 16 230 + ], 231 + "texture": "#planks" 232 + }, 233 + "east": { 234 + "uv": [ 235 + 0, 236 + 13, 237 + 16, 238 + 16 239 + ], 240 + "texture": "#planks" 241 + }, 242 + "south": { 243 + "uv": [ 244 + 0, 245 + 13, 246 + 1, 247 + 16 248 + ], 249 + "texture": "#planks" 250 + }, 251 + "west": { 252 + "uv": [ 253 + 0, 254 + 13, 255 + 16, 256 + 16 257 + ], 258 + "texture": "#planks" 259 + }, 260 + "up": { 261 + "uv": [ 262 + 0, 263 + 0, 264 + 1, 265 + 16 266 + ], 267 + "texture": "#planks" 268 + }, 269 + "down": { 270 + "uv": [ 271 + 0, 272 + 0, 273 + 1, 274 + 16 275 + ], 276 + "texture": "#planks" 277 + } 278 + } 279 + }, 280 + { 281 + "from": [ 282 + 15, 283 + 0, 284 + 0 285 + ], 286 + "to": [ 287 + 16, 288 + 3, 289 + 16 290 + ], 291 + "faces": { 292 + "north": { 293 + "uv": [ 294 + 15, 295 + 13, 296 + 16, 297 + 16 298 + ], 299 + "texture": "#planks" 300 + }, 301 + "east": { 302 + "uv": [ 303 + 0, 304 + 13, 305 + 16, 306 + 16 307 + ], 308 + "texture": "#planks" 309 + }, 310 + "south": { 311 + "uv": [ 312 + 15, 313 + 13, 314 + 16, 315 + 16 316 + ], 317 + "texture": "#planks" 318 + }, 319 + "west": { 320 + "uv": [ 321 + 0, 322 + 13, 323 + 16, 324 + 16 325 + ], 326 + "texture": "#planks" 327 + }, 328 + "up": { 329 + "uv": [ 330 + 15, 331 + 0, 332 + 16, 333 + 16 334 + ], 335 + "texture": "#planks" 336 + }, 337 + "down": { 338 + "uv": [ 339 + 15, 340 + 0, 341 + 16, 342 + 16 343 + ], 344 + "texture": "#planks" 345 + } 346 + } 347 + } 348 + ] 349 + }
+349
src/main/resources/assets/pets-and-pals/models/block/pet_raft_birch.json
··· 1 + { 2 + "credit": "model by aaronateataco", 3 + "textures": { 4 + "planks": "minecraft:block/birch_planks", 5 + "particle": "minecraft:block/birch_planks" 6 + }, 7 + "elements": [ 8 + { 9 + "from": [ 10 + 1, 11 + 0, 12 + 1 13 + ], 14 + "to": [ 15 + 15, 16 + 1, 17 + 15 18 + ], 19 + "faces": { 20 + "north": { 21 + "uv": [ 22 + 1, 23 + 15, 24 + 15, 25 + 16 26 + ], 27 + "texture": "#planks" 28 + }, 29 + "east": { 30 + "uv": [ 31 + 1, 32 + 15, 33 + 15, 34 + 16 35 + ], 36 + "texture": "#planks" 37 + }, 38 + "south": { 39 + "uv": [ 40 + 1, 41 + 15, 42 + 15, 43 + 16 44 + ], 45 + "texture": "#planks" 46 + }, 47 + "west": { 48 + "uv": [ 49 + 1, 50 + 15, 51 + 15, 52 + 16 53 + ], 54 + "texture": "#planks" 55 + }, 56 + "up": { 57 + "uv": [ 58 + 1, 59 + 1, 60 + 15, 61 + 15 62 + ], 63 + "texture": "#planks" 64 + }, 65 + "down": { 66 + "uv": [ 67 + 1, 68 + 1, 69 + 15, 70 + 15 71 + ], 72 + "texture": "#planks" 73 + } 74 + } 75 + }, 76 + { 77 + "from": [ 78 + 1, 79 + 0, 80 + 0 81 + ], 82 + "to": [ 83 + 15, 84 + 3, 85 + 1 86 + ], 87 + "faces": { 88 + "north": { 89 + "uv": [ 90 + 1, 91 + 13, 92 + 15, 93 + 16 94 + ], 95 + "texture": "#planks" 96 + }, 97 + "east": { 98 + "uv": [ 99 + 0, 100 + 13, 101 + 1, 102 + 16 103 + ], 104 + "texture": "#planks" 105 + }, 106 + "south": { 107 + "uv": [ 108 + 1, 109 + 13, 110 + 15, 111 + 16 112 + ], 113 + "texture": "#planks" 114 + }, 115 + "west": { 116 + "uv": [ 117 + 0, 118 + 13, 119 + 1, 120 + 16 121 + ], 122 + "texture": "#planks" 123 + }, 124 + "up": { 125 + "uv": [ 126 + 1, 127 + 0, 128 + 15, 129 + 1 130 + ], 131 + "texture": "#planks" 132 + }, 133 + "down": { 134 + "uv": [ 135 + 1, 136 + 0, 137 + 15, 138 + 1 139 + ], 140 + "texture": "#planks" 141 + } 142 + } 143 + }, 144 + { 145 + "from": [ 146 + 1, 147 + 0, 148 + 15 149 + ], 150 + "to": [ 151 + 15, 152 + 3, 153 + 16 154 + ], 155 + "faces": { 156 + "north": { 157 + "uv": [ 158 + 1, 159 + 13, 160 + 15, 161 + 16 162 + ], 163 + "texture": "#planks" 164 + }, 165 + "east": { 166 + "uv": [ 167 + 15, 168 + 13, 169 + 16, 170 + 16 171 + ], 172 + "texture": "#planks" 173 + }, 174 + "south": { 175 + "uv": [ 176 + 1, 177 + 13, 178 + 15, 179 + 16 180 + ], 181 + "texture": "#planks" 182 + }, 183 + "west": { 184 + "uv": [ 185 + 15, 186 + 13, 187 + 16, 188 + 16 189 + ], 190 + "texture": "#planks" 191 + }, 192 + "up": { 193 + "uv": [ 194 + 1, 195 + 15, 196 + 15, 197 + 16 198 + ], 199 + "texture": "#planks" 200 + }, 201 + "down": { 202 + "uv": [ 203 + 1, 204 + 15, 205 + 15, 206 + 16 207 + ], 208 + "texture": "#planks" 209 + } 210 + } 211 + }, 212 + { 213 + "from": [ 214 + 0, 215 + 0, 216 + 0 217 + ], 218 + "to": [ 219 + 1, 220 + 3, 221 + 16 222 + ], 223 + "faces": { 224 + "north": { 225 + "uv": [ 226 + 0, 227 + 13, 228 + 1, 229 + 16 230 + ], 231 + "texture": "#planks" 232 + }, 233 + "east": { 234 + "uv": [ 235 + 0, 236 + 13, 237 + 16, 238 + 16 239 + ], 240 + "texture": "#planks" 241 + }, 242 + "south": { 243 + "uv": [ 244 + 0, 245 + 13, 246 + 1, 247 + 16 248 + ], 249 + "texture": "#planks" 250 + }, 251 + "west": { 252 + "uv": [ 253 + 0, 254 + 13, 255 + 16, 256 + 16 257 + ], 258 + "texture": "#planks" 259 + }, 260 + "up": { 261 + "uv": [ 262 + 0, 263 + 0, 264 + 1, 265 + 16 266 + ], 267 + "texture": "#planks" 268 + }, 269 + "down": { 270 + "uv": [ 271 + 0, 272 + 0, 273 + 1, 274 + 16 275 + ], 276 + "texture": "#planks" 277 + } 278 + } 279 + }, 280 + { 281 + "from": [ 282 + 15, 283 + 0, 284 + 0 285 + ], 286 + "to": [ 287 + 16, 288 + 3, 289 + 16 290 + ], 291 + "faces": { 292 + "north": { 293 + "uv": [ 294 + 15, 295 + 13, 296 + 16, 297 + 16 298 + ], 299 + "texture": "#planks" 300 + }, 301 + "east": { 302 + "uv": [ 303 + 0, 304 + 13, 305 + 16, 306 + 16 307 + ], 308 + "texture": "#planks" 309 + }, 310 + "south": { 311 + "uv": [ 312 + 15, 313 + 13, 314 + 16, 315 + 16 316 + ], 317 + "texture": "#planks" 318 + }, 319 + "west": { 320 + "uv": [ 321 + 0, 322 + 13, 323 + 16, 324 + 16 325 + ], 326 + "texture": "#planks" 327 + }, 328 + "up": { 329 + "uv": [ 330 + 15, 331 + 0, 332 + 16, 333 + 16 334 + ], 335 + "texture": "#planks" 336 + }, 337 + "down": { 338 + "uv": [ 339 + 15, 340 + 0, 341 + 16, 342 + 16 343 + ], 344 + "texture": "#planks" 345 + } 346 + } 347 + } 348 + ] 349 + }
+349
src/main/resources/assets/pets-and-pals/models/block/pet_raft_cherry.json
··· 1 + { 2 + "credit": "model by aaronateataco", 3 + "textures": { 4 + "planks": "minecraft:block/cherry_planks", 5 + "particle": "minecraft:block/cherry_planks" 6 + }, 7 + "elements": [ 8 + { 9 + "from": [ 10 + 1, 11 + 0, 12 + 1 13 + ], 14 + "to": [ 15 + 15, 16 + 1, 17 + 15 18 + ], 19 + "faces": { 20 + "north": { 21 + "uv": [ 22 + 1, 23 + 15, 24 + 15, 25 + 16 26 + ], 27 + "texture": "#planks" 28 + }, 29 + "east": { 30 + "uv": [ 31 + 1, 32 + 15, 33 + 15, 34 + 16 35 + ], 36 + "texture": "#planks" 37 + }, 38 + "south": { 39 + "uv": [ 40 + 1, 41 + 15, 42 + 15, 43 + 16 44 + ], 45 + "texture": "#planks" 46 + }, 47 + "west": { 48 + "uv": [ 49 + 1, 50 + 15, 51 + 15, 52 + 16 53 + ], 54 + "texture": "#planks" 55 + }, 56 + "up": { 57 + "uv": [ 58 + 1, 59 + 1, 60 + 15, 61 + 15 62 + ], 63 + "texture": "#planks" 64 + }, 65 + "down": { 66 + "uv": [ 67 + 1, 68 + 1, 69 + 15, 70 + 15 71 + ], 72 + "texture": "#planks" 73 + } 74 + } 75 + }, 76 + { 77 + "from": [ 78 + 1, 79 + 0, 80 + 0 81 + ], 82 + "to": [ 83 + 15, 84 + 3, 85 + 1 86 + ], 87 + "faces": { 88 + "north": { 89 + "uv": [ 90 + 1, 91 + 13, 92 + 15, 93 + 16 94 + ], 95 + "texture": "#planks" 96 + }, 97 + "east": { 98 + "uv": [ 99 + 0, 100 + 13, 101 + 1, 102 + 16 103 + ], 104 + "texture": "#planks" 105 + }, 106 + "south": { 107 + "uv": [ 108 + 1, 109 + 13, 110 + 15, 111 + 16 112 + ], 113 + "texture": "#planks" 114 + }, 115 + "west": { 116 + "uv": [ 117 + 0, 118 + 13, 119 + 1, 120 + 16 121 + ], 122 + "texture": "#planks" 123 + }, 124 + "up": { 125 + "uv": [ 126 + 1, 127 + 0, 128 + 15, 129 + 1 130 + ], 131 + "texture": "#planks" 132 + }, 133 + "down": { 134 + "uv": [ 135 + 1, 136 + 0, 137 + 15, 138 + 1 139 + ], 140 + "texture": "#planks" 141 + } 142 + } 143 + }, 144 + { 145 + "from": [ 146 + 1, 147 + 0, 148 + 15 149 + ], 150 + "to": [ 151 + 15, 152 + 3, 153 + 16 154 + ], 155 + "faces": { 156 + "north": { 157 + "uv": [ 158 + 1, 159 + 13, 160 + 15, 161 + 16 162 + ], 163 + "texture": "#planks" 164 + }, 165 + "east": { 166 + "uv": [ 167 + 15, 168 + 13, 169 + 16, 170 + 16 171 + ], 172 + "texture": "#planks" 173 + }, 174 + "south": { 175 + "uv": [ 176 + 1, 177 + 13, 178 + 15, 179 + 16 180 + ], 181 + "texture": "#planks" 182 + }, 183 + "west": { 184 + "uv": [ 185 + 15, 186 + 13, 187 + 16, 188 + 16 189 + ], 190 + "texture": "#planks" 191 + }, 192 + "up": { 193 + "uv": [ 194 + 1, 195 + 15, 196 + 15, 197 + 16 198 + ], 199 + "texture": "#planks" 200 + }, 201 + "down": { 202 + "uv": [ 203 + 1, 204 + 15, 205 + 15, 206 + 16 207 + ], 208 + "texture": "#planks" 209 + } 210 + } 211 + }, 212 + { 213 + "from": [ 214 + 0, 215 + 0, 216 + 0 217 + ], 218 + "to": [ 219 + 1, 220 + 3, 221 + 16 222 + ], 223 + "faces": { 224 + "north": { 225 + "uv": [ 226 + 0, 227 + 13, 228 + 1, 229 + 16 230 + ], 231 + "texture": "#planks" 232 + }, 233 + "east": { 234 + "uv": [ 235 + 0, 236 + 13, 237 + 16, 238 + 16 239 + ], 240 + "texture": "#planks" 241 + }, 242 + "south": { 243 + "uv": [ 244 + 0, 245 + 13, 246 + 1, 247 + 16 248 + ], 249 + "texture": "#planks" 250 + }, 251 + "west": { 252 + "uv": [ 253 + 0, 254 + 13, 255 + 16, 256 + 16 257 + ], 258 + "texture": "#planks" 259 + }, 260 + "up": { 261 + "uv": [ 262 + 0, 263 + 0, 264 + 1, 265 + 16 266 + ], 267 + "texture": "#planks" 268 + }, 269 + "down": { 270 + "uv": [ 271 + 0, 272 + 0, 273 + 1, 274 + 16 275 + ], 276 + "texture": "#planks" 277 + } 278 + } 279 + }, 280 + { 281 + "from": [ 282 + 15, 283 + 0, 284 + 0 285 + ], 286 + "to": [ 287 + 16, 288 + 3, 289 + 16 290 + ], 291 + "faces": { 292 + "north": { 293 + "uv": [ 294 + 15, 295 + 13, 296 + 16, 297 + 16 298 + ], 299 + "texture": "#planks" 300 + }, 301 + "east": { 302 + "uv": [ 303 + 0, 304 + 13, 305 + 16, 306 + 16 307 + ], 308 + "texture": "#planks" 309 + }, 310 + "south": { 311 + "uv": [ 312 + 15, 313 + 13, 314 + 16, 315 + 16 316 + ], 317 + "texture": "#planks" 318 + }, 319 + "west": { 320 + "uv": [ 321 + 0, 322 + 13, 323 + 16, 324 + 16 325 + ], 326 + "texture": "#planks" 327 + }, 328 + "up": { 329 + "uv": [ 330 + 15, 331 + 0, 332 + 16, 333 + 16 334 + ], 335 + "texture": "#planks" 336 + }, 337 + "down": { 338 + "uv": [ 339 + 15, 340 + 0, 341 + 16, 342 + 16 343 + ], 344 + "texture": "#planks" 345 + } 346 + } 347 + } 348 + ] 349 + }
+349
src/main/resources/assets/pets-and-pals/models/block/pet_raft_crimson.json
··· 1 + { 2 + "credit": "model by aaronateataco", 3 + "textures": { 4 + "planks": "minecraft:block/crimson_planks", 5 + "particle": "minecraft:block/crimson_planks" 6 + }, 7 + "elements": [ 8 + { 9 + "from": [ 10 + 1, 11 + 0, 12 + 1 13 + ], 14 + "to": [ 15 + 15, 16 + 1, 17 + 15 18 + ], 19 + "faces": { 20 + "north": { 21 + "uv": [ 22 + 1, 23 + 15, 24 + 15, 25 + 16 26 + ], 27 + "texture": "#planks" 28 + }, 29 + "east": { 30 + "uv": [ 31 + 1, 32 + 15, 33 + 15, 34 + 16 35 + ], 36 + "texture": "#planks" 37 + }, 38 + "south": { 39 + "uv": [ 40 + 1, 41 + 15, 42 + 15, 43 + 16 44 + ], 45 + "texture": "#planks" 46 + }, 47 + "west": { 48 + "uv": [ 49 + 1, 50 + 15, 51 + 15, 52 + 16 53 + ], 54 + "texture": "#planks" 55 + }, 56 + "up": { 57 + "uv": [ 58 + 1, 59 + 1, 60 + 15, 61 + 15 62 + ], 63 + "texture": "#planks" 64 + }, 65 + "down": { 66 + "uv": [ 67 + 1, 68 + 1, 69 + 15, 70 + 15 71 + ], 72 + "texture": "#planks" 73 + } 74 + } 75 + }, 76 + { 77 + "from": [ 78 + 1, 79 + 0, 80 + 0 81 + ], 82 + "to": [ 83 + 15, 84 + 3, 85 + 1 86 + ], 87 + "faces": { 88 + "north": { 89 + "uv": [ 90 + 1, 91 + 13, 92 + 15, 93 + 16 94 + ], 95 + "texture": "#planks" 96 + }, 97 + "east": { 98 + "uv": [ 99 + 0, 100 + 13, 101 + 1, 102 + 16 103 + ], 104 + "texture": "#planks" 105 + }, 106 + "south": { 107 + "uv": [ 108 + 1, 109 + 13, 110 + 15, 111 + 16 112 + ], 113 + "texture": "#planks" 114 + }, 115 + "west": { 116 + "uv": [ 117 + 0, 118 + 13, 119 + 1, 120 + 16 121 + ], 122 + "texture": "#planks" 123 + }, 124 + "up": { 125 + "uv": [ 126 + 1, 127 + 0, 128 + 15, 129 + 1 130 + ], 131 + "texture": "#planks" 132 + }, 133 + "down": { 134 + "uv": [ 135 + 1, 136 + 0, 137 + 15, 138 + 1 139 + ], 140 + "texture": "#planks" 141 + } 142 + } 143 + }, 144 + { 145 + "from": [ 146 + 1, 147 + 0, 148 + 15 149 + ], 150 + "to": [ 151 + 15, 152 + 3, 153 + 16 154 + ], 155 + "faces": { 156 + "north": { 157 + "uv": [ 158 + 1, 159 + 13, 160 + 15, 161 + 16 162 + ], 163 + "texture": "#planks" 164 + }, 165 + "east": { 166 + "uv": [ 167 + 15, 168 + 13, 169 + 16, 170 + 16 171 + ], 172 + "texture": "#planks" 173 + }, 174 + "south": { 175 + "uv": [ 176 + 1, 177 + 13, 178 + 15, 179 + 16 180 + ], 181 + "texture": "#planks" 182 + }, 183 + "west": { 184 + "uv": [ 185 + 15, 186 + 13, 187 + 16, 188 + 16 189 + ], 190 + "texture": "#planks" 191 + }, 192 + "up": { 193 + "uv": [ 194 + 1, 195 + 15, 196 + 15, 197 + 16 198 + ], 199 + "texture": "#planks" 200 + }, 201 + "down": { 202 + "uv": [ 203 + 1, 204 + 15, 205 + 15, 206 + 16 207 + ], 208 + "texture": "#planks" 209 + } 210 + } 211 + }, 212 + { 213 + "from": [ 214 + 0, 215 + 0, 216 + 0 217 + ], 218 + "to": [ 219 + 1, 220 + 3, 221 + 16 222 + ], 223 + "faces": { 224 + "north": { 225 + "uv": [ 226 + 0, 227 + 13, 228 + 1, 229 + 16 230 + ], 231 + "texture": "#planks" 232 + }, 233 + "east": { 234 + "uv": [ 235 + 0, 236 + 13, 237 + 16, 238 + 16 239 + ], 240 + "texture": "#planks" 241 + }, 242 + "south": { 243 + "uv": [ 244 + 0, 245 + 13, 246 + 1, 247 + 16 248 + ], 249 + "texture": "#planks" 250 + }, 251 + "west": { 252 + "uv": [ 253 + 0, 254 + 13, 255 + 16, 256 + 16 257 + ], 258 + "texture": "#planks" 259 + }, 260 + "up": { 261 + "uv": [ 262 + 0, 263 + 0, 264 + 1, 265 + 16 266 + ], 267 + "texture": "#planks" 268 + }, 269 + "down": { 270 + "uv": [ 271 + 0, 272 + 0, 273 + 1, 274 + 16 275 + ], 276 + "texture": "#planks" 277 + } 278 + } 279 + }, 280 + { 281 + "from": [ 282 + 15, 283 + 0, 284 + 0 285 + ], 286 + "to": [ 287 + 16, 288 + 3, 289 + 16 290 + ], 291 + "faces": { 292 + "north": { 293 + "uv": [ 294 + 15, 295 + 13, 296 + 16, 297 + 16 298 + ], 299 + "texture": "#planks" 300 + }, 301 + "east": { 302 + "uv": [ 303 + 0, 304 + 13, 305 + 16, 306 + 16 307 + ], 308 + "texture": "#planks" 309 + }, 310 + "south": { 311 + "uv": [ 312 + 15, 313 + 13, 314 + 16, 315 + 16 316 + ], 317 + "texture": "#planks" 318 + }, 319 + "west": { 320 + "uv": [ 321 + 0, 322 + 13, 323 + 16, 324 + 16 325 + ], 326 + "texture": "#planks" 327 + }, 328 + "up": { 329 + "uv": [ 330 + 15, 331 + 0, 332 + 16, 333 + 16 334 + ], 335 + "texture": "#planks" 336 + }, 337 + "down": { 338 + "uv": [ 339 + 15, 340 + 0, 341 + 16, 342 + 16 343 + ], 344 + "texture": "#planks" 345 + } 346 + } 347 + } 348 + ] 349 + }
+349
src/main/resources/assets/pets-and-pals/models/block/pet_raft_dark_oak.json
··· 1 + { 2 + "credit": "model by aaronateataco", 3 + "textures": { 4 + "planks": "minecraft:block/dark_oak_planks", 5 + "particle": "minecraft:block/dark_oak_planks" 6 + }, 7 + "elements": [ 8 + { 9 + "from": [ 10 + 1, 11 + 0, 12 + 1 13 + ], 14 + "to": [ 15 + 15, 16 + 1, 17 + 15 18 + ], 19 + "faces": { 20 + "north": { 21 + "uv": [ 22 + 1, 23 + 15, 24 + 15, 25 + 16 26 + ], 27 + "texture": "#planks" 28 + }, 29 + "east": { 30 + "uv": [ 31 + 1, 32 + 15, 33 + 15, 34 + 16 35 + ], 36 + "texture": "#planks" 37 + }, 38 + "south": { 39 + "uv": [ 40 + 1, 41 + 15, 42 + 15, 43 + 16 44 + ], 45 + "texture": "#planks" 46 + }, 47 + "west": { 48 + "uv": [ 49 + 1, 50 + 15, 51 + 15, 52 + 16 53 + ], 54 + "texture": "#planks" 55 + }, 56 + "up": { 57 + "uv": [ 58 + 1, 59 + 1, 60 + 15, 61 + 15 62 + ], 63 + "texture": "#planks" 64 + }, 65 + "down": { 66 + "uv": [ 67 + 1, 68 + 1, 69 + 15, 70 + 15 71 + ], 72 + "texture": "#planks" 73 + } 74 + } 75 + }, 76 + { 77 + "from": [ 78 + 1, 79 + 0, 80 + 0 81 + ], 82 + "to": [ 83 + 15, 84 + 3, 85 + 1 86 + ], 87 + "faces": { 88 + "north": { 89 + "uv": [ 90 + 1, 91 + 13, 92 + 15, 93 + 16 94 + ], 95 + "texture": "#planks" 96 + }, 97 + "east": { 98 + "uv": [ 99 + 0, 100 + 13, 101 + 1, 102 + 16 103 + ], 104 + "texture": "#planks" 105 + }, 106 + "south": { 107 + "uv": [ 108 + 1, 109 + 13, 110 + 15, 111 + 16 112 + ], 113 + "texture": "#planks" 114 + }, 115 + "west": { 116 + "uv": [ 117 + 0, 118 + 13, 119 + 1, 120 + 16 121 + ], 122 + "texture": "#planks" 123 + }, 124 + "up": { 125 + "uv": [ 126 + 1, 127 + 0, 128 + 15, 129 + 1 130 + ], 131 + "texture": "#planks" 132 + }, 133 + "down": { 134 + "uv": [ 135 + 1, 136 + 0, 137 + 15, 138 + 1 139 + ], 140 + "texture": "#planks" 141 + } 142 + } 143 + }, 144 + { 145 + "from": [ 146 + 1, 147 + 0, 148 + 15 149 + ], 150 + "to": [ 151 + 15, 152 + 3, 153 + 16 154 + ], 155 + "faces": { 156 + "north": { 157 + "uv": [ 158 + 1, 159 + 13, 160 + 15, 161 + 16 162 + ], 163 + "texture": "#planks" 164 + }, 165 + "east": { 166 + "uv": [ 167 + 15, 168 + 13, 169 + 16, 170 + 16 171 + ], 172 + "texture": "#planks" 173 + }, 174 + "south": { 175 + "uv": [ 176 + 1, 177 + 13, 178 + 15, 179 + 16 180 + ], 181 + "texture": "#planks" 182 + }, 183 + "west": { 184 + "uv": [ 185 + 15, 186 + 13, 187 + 16, 188 + 16 189 + ], 190 + "texture": "#planks" 191 + }, 192 + "up": { 193 + "uv": [ 194 + 1, 195 + 15, 196 + 15, 197 + 16 198 + ], 199 + "texture": "#planks" 200 + }, 201 + "down": { 202 + "uv": [ 203 + 1, 204 + 15, 205 + 15, 206 + 16 207 + ], 208 + "texture": "#planks" 209 + } 210 + } 211 + }, 212 + { 213 + "from": [ 214 + 0, 215 + 0, 216 + 0 217 + ], 218 + "to": [ 219 + 1, 220 + 3, 221 + 16 222 + ], 223 + "faces": { 224 + "north": { 225 + "uv": [ 226 + 0, 227 + 13, 228 + 1, 229 + 16 230 + ], 231 + "texture": "#planks" 232 + }, 233 + "east": { 234 + "uv": [ 235 + 0, 236 + 13, 237 + 16, 238 + 16 239 + ], 240 + "texture": "#planks" 241 + }, 242 + "south": { 243 + "uv": [ 244 + 0, 245 + 13, 246 + 1, 247 + 16 248 + ], 249 + "texture": "#planks" 250 + }, 251 + "west": { 252 + "uv": [ 253 + 0, 254 + 13, 255 + 16, 256 + 16 257 + ], 258 + "texture": "#planks" 259 + }, 260 + "up": { 261 + "uv": [ 262 + 0, 263 + 0, 264 + 1, 265 + 16 266 + ], 267 + "texture": "#planks" 268 + }, 269 + "down": { 270 + "uv": [ 271 + 0, 272 + 0, 273 + 1, 274 + 16 275 + ], 276 + "texture": "#planks" 277 + } 278 + } 279 + }, 280 + { 281 + "from": [ 282 + 15, 283 + 0, 284 + 0 285 + ], 286 + "to": [ 287 + 16, 288 + 3, 289 + 16 290 + ], 291 + "faces": { 292 + "north": { 293 + "uv": [ 294 + 15, 295 + 13, 296 + 16, 297 + 16 298 + ], 299 + "texture": "#planks" 300 + }, 301 + "east": { 302 + "uv": [ 303 + 0, 304 + 13, 305 + 16, 306 + 16 307 + ], 308 + "texture": "#planks" 309 + }, 310 + "south": { 311 + "uv": [ 312 + 15, 313 + 13, 314 + 16, 315 + 16 316 + ], 317 + "texture": "#planks" 318 + }, 319 + "west": { 320 + "uv": [ 321 + 0, 322 + 13, 323 + 16, 324 + 16 325 + ], 326 + "texture": "#planks" 327 + }, 328 + "up": { 329 + "uv": [ 330 + 15, 331 + 0, 332 + 16, 333 + 16 334 + ], 335 + "texture": "#planks" 336 + }, 337 + "down": { 338 + "uv": [ 339 + 15, 340 + 0, 341 + 16, 342 + 16 343 + ], 344 + "texture": "#planks" 345 + } 346 + } 347 + } 348 + ] 349 + }
+349
src/main/resources/assets/pets-and-pals/models/block/pet_raft_jungle.json
··· 1 + { 2 + "credit": "model by aaronateataco", 3 + "textures": { 4 + "planks": "minecraft:block/jungle_planks", 5 + "particle": "minecraft:block/jungle_planks" 6 + }, 7 + "elements": [ 8 + { 9 + "from": [ 10 + 1, 11 + 0, 12 + 1 13 + ], 14 + "to": [ 15 + 15, 16 + 1, 17 + 15 18 + ], 19 + "faces": { 20 + "north": { 21 + "uv": [ 22 + 1, 23 + 15, 24 + 15, 25 + 16 26 + ], 27 + "texture": "#planks" 28 + }, 29 + "east": { 30 + "uv": [ 31 + 1, 32 + 15, 33 + 15, 34 + 16 35 + ], 36 + "texture": "#planks" 37 + }, 38 + "south": { 39 + "uv": [ 40 + 1, 41 + 15, 42 + 15, 43 + 16 44 + ], 45 + "texture": "#planks" 46 + }, 47 + "west": { 48 + "uv": [ 49 + 1, 50 + 15, 51 + 15, 52 + 16 53 + ], 54 + "texture": "#planks" 55 + }, 56 + "up": { 57 + "uv": [ 58 + 1, 59 + 1, 60 + 15, 61 + 15 62 + ], 63 + "texture": "#planks" 64 + }, 65 + "down": { 66 + "uv": [ 67 + 1, 68 + 1, 69 + 15, 70 + 15 71 + ], 72 + "texture": "#planks" 73 + } 74 + } 75 + }, 76 + { 77 + "from": [ 78 + 1, 79 + 0, 80 + 0 81 + ], 82 + "to": [ 83 + 15, 84 + 3, 85 + 1 86 + ], 87 + "faces": { 88 + "north": { 89 + "uv": [ 90 + 1, 91 + 13, 92 + 15, 93 + 16 94 + ], 95 + "texture": "#planks" 96 + }, 97 + "east": { 98 + "uv": [ 99 + 0, 100 + 13, 101 + 1, 102 + 16 103 + ], 104 + "texture": "#planks" 105 + }, 106 + "south": { 107 + "uv": [ 108 + 1, 109 + 13, 110 + 15, 111 + 16 112 + ], 113 + "texture": "#planks" 114 + }, 115 + "west": { 116 + "uv": [ 117 + 0, 118 + 13, 119 + 1, 120 + 16 121 + ], 122 + "texture": "#planks" 123 + }, 124 + "up": { 125 + "uv": [ 126 + 1, 127 + 0, 128 + 15, 129 + 1 130 + ], 131 + "texture": "#planks" 132 + }, 133 + "down": { 134 + "uv": [ 135 + 1, 136 + 0, 137 + 15, 138 + 1 139 + ], 140 + "texture": "#planks" 141 + } 142 + } 143 + }, 144 + { 145 + "from": [ 146 + 1, 147 + 0, 148 + 15 149 + ], 150 + "to": [ 151 + 15, 152 + 3, 153 + 16 154 + ], 155 + "faces": { 156 + "north": { 157 + "uv": [ 158 + 1, 159 + 13, 160 + 15, 161 + 16 162 + ], 163 + "texture": "#planks" 164 + }, 165 + "east": { 166 + "uv": [ 167 + 15, 168 + 13, 169 + 16, 170 + 16 171 + ], 172 + "texture": "#planks" 173 + }, 174 + "south": { 175 + "uv": [ 176 + 1, 177 + 13, 178 + 15, 179 + 16 180 + ], 181 + "texture": "#planks" 182 + }, 183 + "west": { 184 + "uv": [ 185 + 15, 186 + 13, 187 + 16, 188 + 16 189 + ], 190 + "texture": "#planks" 191 + }, 192 + "up": { 193 + "uv": [ 194 + 1, 195 + 15, 196 + 15, 197 + 16 198 + ], 199 + "texture": "#planks" 200 + }, 201 + "down": { 202 + "uv": [ 203 + 1, 204 + 15, 205 + 15, 206 + 16 207 + ], 208 + "texture": "#planks" 209 + } 210 + } 211 + }, 212 + { 213 + "from": [ 214 + 0, 215 + 0, 216 + 0 217 + ], 218 + "to": [ 219 + 1, 220 + 3, 221 + 16 222 + ], 223 + "faces": { 224 + "north": { 225 + "uv": [ 226 + 0, 227 + 13, 228 + 1, 229 + 16 230 + ], 231 + "texture": "#planks" 232 + }, 233 + "east": { 234 + "uv": [ 235 + 0, 236 + 13, 237 + 16, 238 + 16 239 + ], 240 + "texture": "#planks" 241 + }, 242 + "south": { 243 + "uv": [ 244 + 0, 245 + 13, 246 + 1, 247 + 16 248 + ], 249 + "texture": "#planks" 250 + }, 251 + "west": { 252 + "uv": [ 253 + 0, 254 + 13, 255 + 16, 256 + 16 257 + ], 258 + "texture": "#planks" 259 + }, 260 + "up": { 261 + "uv": [ 262 + 0, 263 + 0, 264 + 1, 265 + 16 266 + ], 267 + "texture": "#planks" 268 + }, 269 + "down": { 270 + "uv": [ 271 + 0, 272 + 0, 273 + 1, 274 + 16 275 + ], 276 + "texture": "#planks" 277 + } 278 + } 279 + }, 280 + { 281 + "from": [ 282 + 15, 283 + 0, 284 + 0 285 + ], 286 + "to": [ 287 + 16, 288 + 3, 289 + 16 290 + ], 291 + "faces": { 292 + "north": { 293 + "uv": [ 294 + 15, 295 + 13, 296 + 16, 297 + 16 298 + ], 299 + "texture": "#planks" 300 + }, 301 + "east": { 302 + "uv": [ 303 + 0, 304 + 13, 305 + 16, 306 + 16 307 + ], 308 + "texture": "#planks" 309 + }, 310 + "south": { 311 + "uv": [ 312 + 15, 313 + 13, 314 + 16, 315 + 16 316 + ], 317 + "texture": "#planks" 318 + }, 319 + "west": { 320 + "uv": [ 321 + 0, 322 + 13, 323 + 16, 324 + 16 325 + ], 326 + "texture": "#planks" 327 + }, 328 + "up": { 329 + "uv": [ 330 + 15, 331 + 0, 332 + 16, 333 + 16 334 + ], 335 + "texture": "#planks" 336 + }, 337 + "down": { 338 + "uv": [ 339 + 15, 340 + 0, 341 + 16, 342 + 16 343 + ], 344 + "texture": "#planks" 345 + } 346 + } 347 + } 348 + ] 349 + }
+349
src/main/resources/assets/pets-and-pals/models/block/pet_raft_mangrove.json
··· 1 + { 2 + "credit": "model by aaronateataco", 3 + "textures": { 4 + "planks": "minecraft:block/mangrove_planks", 5 + "particle": "minecraft:block/mangrove_planks" 6 + }, 7 + "elements": [ 8 + { 9 + "from": [ 10 + 1, 11 + 0, 12 + 1 13 + ], 14 + "to": [ 15 + 15, 16 + 1, 17 + 15 18 + ], 19 + "faces": { 20 + "north": { 21 + "uv": [ 22 + 1, 23 + 15, 24 + 15, 25 + 16 26 + ], 27 + "texture": "#planks" 28 + }, 29 + "east": { 30 + "uv": [ 31 + 1, 32 + 15, 33 + 15, 34 + 16 35 + ], 36 + "texture": "#planks" 37 + }, 38 + "south": { 39 + "uv": [ 40 + 1, 41 + 15, 42 + 15, 43 + 16 44 + ], 45 + "texture": "#planks" 46 + }, 47 + "west": { 48 + "uv": [ 49 + 1, 50 + 15, 51 + 15, 52 + 16 53 + ], 54 + "texture": "#planks" 55 + }, 56 + "up": { 57 + "uv": [ 58 + 1, 59 + 1, 60 + 15, 61 + 15 62 + ], 63 + "texture": "#planks" 64 + }, 65 + "down": { 66 + "uv": [ 67 + 1, 68 + 1, 69 + 15, 70 + 15 71 + ], 72 + "texture": "#planks" 73 + } 74 + } 75 + }, 76 + { 77 + "from": [ 78 + 1, 79 + 0, 80 + 0 81 + ], 82 + "to": [ 83 + 15, 84 + 3, 85 + 1 86 + ], 87 + "faces": { 88 + "north": { 89 + "uv": [ 90 + 1, 91 + 13, 92 + 15, 93 + 16 94 + ], 95 + "texture": "#planks" 96 + }, 97 + "east": { 98 + "uv": [ 99 + 0, 100 + 13, 101 + 1, 102 + 16 103 + ], 104 + "texture": "#planks" 105 + }, 106 + "south": { 107 + "uv": [ 108 + 1, 109 + 13, 110 + 15, 111 + 16 112 + ], 113 + "texture": "#planks" 114 + }, 115 + "west": { 116 + "uv": [ 117 + 0, 118 + 13, 119 + 1, 120 + 16 121 + ], 122 + "texture": "#planks" 123 + }, 124 + "up": { 125 + "uv": [ 126 + 1, 127 + 0, 128 + 15, 129 + 1 130 + ], 131 + "texture": "#planks" 132 + }, 133 + "down": { 134 + "uv": [ 135 + 1, 136 + 0, 137 + 15, 138 + 1 139 + ], 140 + "texture": "#planks" 141 + } 142 + } 143 + }, 144 + { 145 + "from": [ 146 + 1, 147 + 0, 148 + 15 149 + ], 150 + "to": [ 151 + 15, 152 + 3, 153 + 16 154 + ], 155 + "faces": { 156 + "north": { 157 + "uv": [ 158 + 1, 159 + 13, 160 + 15, 161 + 16 162 + ], 163 + "texture": "#planks" 164 + }, 165 + "east": { 166 + "uv": [ 167 + 15, 168 + 13, 169 + 16, 170 + 16 171 + ], 172 + "texture": "#planks" 173 + }, 174 + "south": { 175 + "uv": [ 176 + 1, 177 + 13, 178 + 15, 179 + 16 180 + ], 181 + "texture": "#planks" 182 + }, 183 + "west": { 184 + "uv": [ 185 + 15, 186 + 13, 187 + 16, 188 + 16 189 + ], 190 + "texture": "#planks" 191 + }, 192 + "up": { 193 + "uv": [ 194 + 1, 195 + 15, 196 + 15, 197 + 16 198 + ], 199 + "texture": "#planks" 200 + }, 201 + "down": { 202 + "uv": [ 203 + 1, 204 + 15, 205 + 15, 206 + 16 207 + ], 208 + "texture": "#planks" 209 + } 210 + } 211 + }, 212 + { 213 + "from": [ 214 + 0, 215 + 0, 216 + 0 217 + ], 218 + "to": [ 219 + 1, 220 + 3, 221 + 16 222 + ], 223 + "faces": { 224 + "north": { 225 + "uv": [ 226 + 0, 227 + 13, 228 + 1, 229 + 16 230 + ], 231 + "texture": "#planks" 232 + }, 233 + "east": { 234 + "uv": [ 235 + 0, 236 + 13, 237 + 16, 238 + 16 239 + ], 240 + "texture": "#planks" 241 + }, 242 + "south": { 243 + "uv": [ 244 + 0, 245 + 13, 246 + 1, 247 + 16 248 + ], 249 + "texture": "#planks" 250 + }, 251 + "west": { 252 + "uv": [ 253 + 0, 254 + 13, 255 + 16, 256 + 16 257 + ], 258 + "texture": "#planks" 259 + }, 260 + "up": { 261 + "uv": [ 262 + 0, 263 + 0, 264 + 1, 265 + 16 266 + ], 267 + "texture": "#planks" 268 + }, 269 + "down": { 270 + "uv": [ 271 + 0, 272 + 0, 273 + 1, 274 + 16 275 + ], 276 + "texture": "#planks" 277 + } 278 + } 279 + }, 280 + { 281 + "from": [ 282 + 15, 283 + 0, 284 + 0 285 + ], 286 + "to": [ 287 + 16, 288 + 3, 289 + 16 290 + ], 291 + "faces": { 292 + "north": { 293 + "uv": [ 294 + 15, 295 + 13, 296 + 16, 297 + 16 298 + ], 299 + "texture": "#planks" 300 + }, 301 + "east": { 302 + "uv": [ 303 + 0, 304 + 13, 305 + 16, 306 + 16 307 + ], 308 + "texture": "#planks" 309 + }, 310 + "south": { 311 + "uv": [ 312 + 15, 313 + 13, 314 + 16, 315 + 16 316 + ], 317 + "texture": "#planks" 318 + }, 319 + "west": { 320 + "uv": [ 321 + 0, 322 + 13, 323 + 16, 324 + 16 325 + ], 326 + "texture": "#planks" 327 + }, 328 + "up": { 329 + "uv": [ 330 + 15, 331 + 0, 332 + 16, 333 + 16 334 + ], 335 + "texture": "#planks" 336 + }, 337 + "down": { 338 + "uv": [ 339 + 15, 340 + 0, 341 + 16, 342 + 16 343 + ], 344 + "texture": "#planks" 345 + } 346 + } 347 + } 348 + ] 349 + }
+349
src/main/resources/assets/pets-and-pals/models/block/pet_raft_oak.json
··· 1 + { 2 + "credit": "model by aaronateataco", 3 + "textures": { 4 + "planks": "minecraft:block/oak_planks", 5 + "particle": "minecraft:block/oak_planks" 6 + }, 7 + "elements": [ 8 + { 9 + "from": [ 10 + 1, 11 + 0, 12 + 1 13 + ], 14 + "to": [ 15 + 15, 16 + 1, 17 + 15 18 + ], 19 + "faces": { 20 + "north": { 21 + "uv": [ 22 + 1, 23 + 15, 24 + 15, 25 + 16 26 + ], 27 + "texture": "#planks" 28 + }, 29 + "east": { 30 + "uv": [ 31 + 1, 32 + 15, 33 + 15, 34 + 16 35 + ], 36 + "texture": "#planks" 37 + }, 38 + "south": { 39 + "uv": [ 40 + 1, 41 + 15, 42 + 15, 43 + 16 44 + ], 45 + "texture": "#planks" 46 + }, 47 + "west": { 48 + "uv": [ 49 + 1, 50 + 15, 51 + 15, 52 + 16 53 + ], 54 + "texture": "#planks" 55 + }, 56 + "up": { 57 + "uv": [ 58 + 1, 59 + 1, 60 + 15, 61 + 15 62 + ], 63 + "texture": "#planks" 64 + }, 65 + "down": { 66 + "uv": [ 67 + 1, 68 + 1, 69 + 15, 70 + 15 71 + ], 72 + "texture": "#planks" 73 + } 74 + } 75 + }, 76 + { 77 + "from": [ 78 + 1, 79 + 0, 80 + 0 81 + ], 82 + "to": [ 83 + 15, 84 + 3, 85 + 1 86 + ], 87 + "faces": { 88 + "north": { 89 + "uv": [ 90 + 1, 91 + 13, 92 + 15, 93 + 16 94 + ], 95 + "texture": "#planks" 96 + }, 97 + "east": { 98 + "uv": [ 99 + 0, 100 + 13, 101 + 1, 102 + 16 103 + ], 104 + "texture": "#planks" 105 + }, 106 + "south": { 107 + "uv": [ 108 + 1, 109 + 13, 110 + 15, 111 + 16 112 + ], 113 + "texture": "#planks" 114 + }, 115 + "west": { 116 + "uv": [ 117 + 0, 118 + 13, 119 + 1, 120 + 16 121 + ], 122 + "texture": "#planks" 123 + }, 124 + "up": { 125 + "uv": [ 126 + 1, 127 + 0, 128 + 15, 129 + 1 130 + ], 131 + "texture": "#planks" 132 + }, 133 + "down": { 134 + "uv": [ 135 + 1, 136 + 0, 137 + 15, 138 + 1 139 + ], 140 + "texture": "#planks" 141 + } 142 + } 143 + }, 144 + { 145 + "from": [ 146 + 1, 147 + 0, 148 + 15 149 + ], 150 + "to": [ 151 + 15, 152 + 3, 153 + 16 154 + ], 155 + "faces": { 156 + "north": { 157 + "uv": [ 158 + 1, 159 + 13, 160 + 15, 161 + 16 162 + ], 163 + "texture": "#planks" 164 + }, 165 + "east": { 166 + "uv": [ 167 + 15, 168 + 13, 169 + 16, 170 + 16 171 + ], 172 + "texture": "#planks" 173 + }, 174 + "south": { 175 + "uv": [ 176 + 1, 177 + 13, 178 + 15, 179 + 16 180 + ], 181 + "texture": "#planks" 182 + }, 183 + "west": { 184 + "uv": [ 185 + 15, 186 + 13, 187 + 16, 188 + 16 189 + ], 190 + "texture": "#planks" 191 + }, 192 + "up": { 193 + "uv": [ 194 + 1, 195 + 15, 196 + 15, 197 + 16 198 + ], 199 + "texture": "#planks" 200 + }, 201 + "down": { 202 + "uv": [ 203 + 1, 204 + 15, 205 + 15, 206 + 16 207 + ], 208 + "texture": "#planks" 209 + } 210 + } 211 + }, 212 + { 213 + "from": [ 214 + 0, 215 + 0, 216 + 0 217 + ], 218 + "to": [ 219 + 1, 220 + 3, 221 + 16 222 + ], 223 + "faces": { 224 + "north": { 225 + "uv": [ 226 + 0, 227 + 13, 228 + 1, 229 + 16 230 + ], 231 + "texture": "#planks" 232 + }, 233 + "east": { 234 + "uv": [ 235 + 0, 236 + 13, 237 + 16, 238 + 16 239 + ], 240 + "texture": "#planks" 241 + }, 242 + "south": { 243 + "uv": [ 244 + 0, 245 + 13, 246 + 1, 247 + 16 248 + ], 249 + "texture": "#planks" 250 + }, 251 + "west": { 252 + "uv": [ 253 + 0, 254 + 13, 255 + 16, 256 + 16 257 + ], 258 + "texture": "#planks" 259 + }, 260 + "up": { 261 + "uv": [ 262 + 0, 263 + 0, 264 + 1, 265 + 16 266 + ], 267 + "texture": "#planks" 268 + }, 269 + "down": { 270 + "uv": [ 271 + 0, 272 + 0, 273 + 1, 274 + 16 275 + ], 276 + "texture": "#planks" 277 + } 278 + } 279 + }, 280 + { 281 + "from": [ 282 + 15, 283 + 0, 284 + 0 285 + ], 286 + "to": [ 287 + 16, 288 + 3, 289 + 16 290 + ], 291 + "faces": { 292 + "north": { 293 + "uv": [ 294 + 15, 295 + 13, 296 + 16, 297 + 16 298 + ], 299 + "texture": "#planks" 300 + }, 301 + "east": { 302 + "uv": [ 303 + 0, 304 + 13, 305 + 16, 306 + 16 307 + ], 308 + "texture": "#planks" 309 + }, 310 + "south": { 311 + "uv": [ 312 + 15, 313 + 13, 314 + 16, 315 + 16 316 + ], 317 + "texture": "#planks" 318 + }, 319 + "west": { 320 + "uv": [ 321 + 0, 322 + 13, 323 + 16, 324 + 16 325 + ], 326 + "texture": "#planks" 327 + }, 328 + "up": { 329 + "uv": [ 330 + 15, 331 + 0, 332 + 16, 333 + 16 334 + ], 335 + "texture": "#planks" 336 + }, 337 + "down": { 338 + "uv": [ 339 + 15, 340 + 0, 341 + 16, 342 + 16 343 + ], 344 + "texture": "#planks" 345 + } 346 + } 347 + } 348 + ] 349 + }
+349
src/main/resources/assets/pets-and-pals/models/block/pet_raft_pale_oak.json
··· 1 + { 2 + "credit": "model by aaronateataco", 3 + "textures": { 4 + "planks": "minecraft:block/pale_oak_planks", 5 + "particle": "minecraft:block/pale_oak_planks" 6 + }, 7 + "elements": [ 8 + { 9 + "from": [ 10 + 1, 11 + 0, 12 + 1 13 + ], 14 + "to": [ 15 + 15, 16 + 1, 17 + 15 18 + ], 19 + "faces": { 20 + "north": { 21 + "uv": [ 22 + 1, 23 + 15, 24 + 15, 25 + 16 26 + ], 27 + "texture": "#planks" 28 + }, 29 + "east": { 30 + "uv": [ 31 + 1, 32 + 15, 33 + 15, 34 + 16 35 + ], 36 + "texture": "#planks" 37 + }, 38 + "south": { 39 + "uv": [ 40 + 1, 41 + 15, 42 + 15, 43 + 16 44 + ], 45 + "texture": "#planks" 46 + }, 47 + "west": { 48 + "uv": [ 49 + 1, 50 + 15, 51 + 15, 52 + 16 53 + ], 54 + "texture": "#planks" 55 + }, 56 + "up": { 57 + "uv": [ 58 + 1, 59 + 1, 60 + 15, 61 + 15 62 + ], 63 + "texture": "#planks" 64 + }, 65 + "down": { 66 + "uv": [ 67 + 1, 68 + 1, 69 + 15, 70 + 15 71 + ], 72 + "texture": "#planks" 73 + } 74 + } 75 + }, 76 + { 77 + "from": [ 78 + 1, 79 + 0, 80 + 0 81 + ], 82 + "to": [ 83 + 15, 84 + 3, 85 + 1 86 + ], 87 + "faces": { 88 + "north": { 89 + "uv": [ 90 + 1, 91 + 13, 92 + 15, 93 + 16 94 + ], 95 + "texture": "#planks" 96 + }, 97 + "east": { 98 + "uv": [ 99 + 0, 100 + 13, 101 + 1, 102 + 16 103 + ], 104 + "texture": "#planks" 105 + }, 106 + "south": { 107 + "uv": [ 108 + 1, 109 + 13, 110 + 15, 111 + 16 112 + ], 113 + "texture": "#planks" 114 + }, 115 + "west": { 116 + "uv": [ 117 + 0, 118 + 13, 119 + 1, 120 + 16 121 + ], 122 + "texture": "#planks" 123 + }, 124 + "up": { 125 + "uv": [ 126 + 1, 127 + 0, 128 + 15, 129 + 1 130 + ], 131 + "texture": "#planks" 132 + }, 133 + "down": { 134 + "uv": [ 135 + 1, 136 + 0, 137 + 15, 138 + 1 139 + ], 140 + "texture": "#planks" 141 + } 142 + } 143 + }, 144 + { 145 + "from": [ 146 + 1, 147 + 0, 148 + 15 149 + ], 150 + "to": [ 151 + 15, 152 + 3, 153 + 16 154 + ], 155 + "faces": { 156 + "north": { 157 + "uv": [ 158 + 1, 159 + 13, 160 + 15, 161 + 16 162 + ], 163 + "texture": "#planks" 164 + }, 165 + "east": { 166 + "uv": [ 167 + 15, 168 + 13, 169 + 16, 170 + 16 171 + ], 172 + "texture": "#planks" 173 + }, 174 + "south": { 175 + "uv": [ 176 + 1, 177 + 13, 178 + 15, 179 + 16 180 + ], 181 + "texture": "#planks" 182 + }, 183 + "west": { 184 + "uv": [ 185 + 15, 186 + 13, 187 + 16, 188 + 16 189 + ], 190 + "texture": "#planks" 191 + }, 192 + "up": { 193 + "uv": [ 194 + 1, 195 + 15, 196 + 15, 197 + 16 198 + ], 199 + "texture": "#planks" 200 + }, 201 + "down": { 202 + "uv": [ 203 + 1, 204 + 15, 205 + 15, 206 + 16 207 + ], 208 + "texture": "#planks" 209 + } 210 + } 211 + }, 212 + { 213 + "from": [ 214 + 0, 215 + 0, 216 + 0 217 + ], 218 + "to": [ 219 + 1, 220 + 3, 221 + 16 222 + ], 223 + "faces": { 224 + "north": { 225 + "uv": [ 226 + 0, 227 + 13, 228 + 1, 229 + 16 230 + ], 231 + "texture": "#planks" 232 + }, 233 + "east": { 234 + "uv": [ 235 + 0, 236 + 13, 237 + 16, 238 + 16 239 + ], 240 + "texture": "#planks" 241 + }, 242 + "south": { 243 + "uv": [ 244 + 0, 245 + 13, 246 + 1, 247 + 16 248 + ], 249 + "texture": "#planks" 250 + }, 251 + "west": { 252 + "uv": [ 253 + 0, 254 + 13, 255 + 16, 256 + 16 257 + ], 258 + "texture": "#planks" 259 + }, 260 + "up": { 261 + "uv": [ 262 + 0, 263 + 0, 264 + 1, 265 + 16 266 + ], 267 + "texture": "#planks" 268 + }, 269 + "down": { 270 + "uv": [ 271 + 0, 272 + 0, 273 + 1, 274 + 16 275 + ], 276 + "texture": "#planks" 277 + } 278 + } 279 + }, 280 + { 281 + "from": [ 282 + 15, 283 + 0, 284 + 0 285 + ], 286 + "to": [ 287 + 16, 288 + 3, 289 + 16 290 + ], 291 + "faces": { 292 + "north": { 293 + "uv": [ 294 + 15, 295 + 13, 296 + 16, 297 + 16 298 + ], 299 + "texture": "#planks" 300 + }, 301 + "east": { 302 + "uv": [ 303 + 0, 304 + 13, 305 + 16, 306 + 16 307 + ], 308 + "texture": "#planks" 309 + }, 310 + "south": { 311 + "uv": [ 312 + 15, 313 + 13, 314 + 16, 315 + 16 316 + ], 317 + "texture": "#planks" 318 + }, 319 + "west": { 320 + "uv": [ 321 + 0, 322 + 13, 323 + 16, 324 + 16 325 + ], 326 + "texture": "#planks" 327 + }, 328 + "up": { 329 + "uv": [ 330 + 15, 331 + 0, 332 + 16, 333 + 16 334 + ], 335 + "texture": "#planks" 336 + }, 337 + "down": { 338 + "uv": [ 339 + 15, 340 + 0, 341 + 16, 342 + 16 343 + ], 344 + "texture": "#planks" 345 + } 346 + } 347 + } 348 + ] 349 + }
+349
src/main/resources/assets/pets-and-pals/models/block/pet_raft_spruce.json
··· 1 + { 2 + "credit": "model by aaronateataco", 3 + "textures": { 4 + "planks": "minecraft:block/spruce_planks", 5 + "particle": "minecraft:block/spruce_planks" 6 + }, 7 + "elements": [ 8 + { 9 + "from": [ 10 + 1, 11 + 0, 12 + 1 13 + ], 14 + "to": [ 15 + 15, 16 + 1, 17 + 15 18 + ], 19 + "faces": { 20 + "north": { 21 + "uv": [ 22 + 1, 23 + 15, 24 + 15, 25 + 16 26 + ], 27 + "texture": "#planks" 28 + }, 29 + "east": { 30 + "uv": [ 31 + 1, 32 + 15, 33 + 15, 34 + 16 35 + ], 36 + "texture": "#planks" 37 + }, 38 + "south": { 39 + "uv": [ 40 + 1, 41 + 15, 42 + 15, 43 + 16 44 + ], 45 + "texture": "#planks" 46 + }, 47 + "west": { 48 + "uv": [ 49 + 1, 50 + 15, 51 + 15, 52 + 16 53 + ], 54 + "texture": "#planks" 55 + }, 56 + "up": { 57 + "uv": [ 58 + 1, 59 + 1, 60 + 15, 61 + 15 62 + ], 63 + "texture": "#planks" 64 + }, 65 + "down": { 66 + "uv": [ 67 + 1, 68 + 1, 69 + 15, 70 + 15 71 + ], 72 + "texture": "#planks" 73 + } 74 + } 75 + }, 76 + { 77 + "from": [ 78 + 1, 79 + 0, 80 + 0 81 + ], 82 + "to": [ 83 + 15, 84 + 3, 85 + 1 86 + ], 87 + "faces": { 88 + "north": { 89 + "uv": [ 90 + 1, 91 + 13, 92 + 15, 93 + 16 94 + ], 95 + "texture": "#planks" 96 + }, 97 + "east": { 98 + "uv": [ 99 + 0, 100 + 13, 101 + 1, 102 + 16 103 + ], 104 + "texture": "#planks" 105 + }, 106 + "south": { 107 + "uv": [ 108 + 1, 109 + 13, 110 + 15, 111 + 16 112 + ], 113 + "texture": "#planks" 114 + }, 115 + "west": { 116 + "uv": [ 117 + 0, 118 + 13, 119 + 1, 120 + 16 121 + ], 122 + "texture": "#planks" 123 + }, 124 + "up": { 125 + "uv": [ 126 + 1, 127 + 0, 128 + 15, 129 + 1 130 + ], 131 + "texture": "#planks" 132 + }, 133 + "down": { 134 + "uv": [ 135 + 1, 136 + 0, 137 + 15, 138 + 1 139 + ], 140 + "texture": "#planks" 141 + } 142 + } 143 + }, 144 + { 145 + "from": [ 146 + 1, 147 + 0, 148 + 15 149 + ], 150 + "to": [ 151 + 15, 152 + 3, 153 + 16 154 + ], 155 + "faces": { 156 + "north": { 157 + "uv": [ 158 + 1, 159 + 13, 160 + 15, 161 + 16 162 + ], 163 + "texture": "#planks" 164 + }, 165 + "east": { 166 + "uv": [ 167 + 15, 168 + 13, 169 + 16, 170 + 16 171 + ], 172 + "texture": "#planks" 173 + }, 174 + "south": { 175 + "uv": [ 176 + 1, 177 + 13, 178 + 15, 179 + 16 180 + ], 181 + "texture": "#planks" 182 + }, 183 + "west": { 184 + "uv": [ 185 + 15, 186 + 13, 187 + 16, 188 + 16 189 + ], 190 + "texture": "#planks" 191 + }, 192 + "up": { 193 + "uv": [ 194 + 1, 195 + 15, 196 + 15, 197 + 16 198 + ], 199 + "texture": "#planks" 200 + }, 201 + "down": { 202 + "uv": [ 203 + 1, 204 + 15, 205 + 15, 206 + 16 207 + ], 208 + "texture": "#planks" 209 + } 210 + } 211 + }, 212 + { 213 + "from": [ 214 + 0, 215 + 0, 216 + 0 217 + ], 218 + "to": [ 219 + 1, 220 + 3, 221 + 16 222 + ], 223 + "faces": { 224 + "north": { 225 + "uv": [ 226 + 0, 227 + 13, 228 + 1, 229 + 16 230 + ], 231 + "texture": "#planks" 232 + }, 233 + "east": { 234 + "uv": [ 235 + 0, 236 + 13, 237 + 16, 238 + 16 239 + ], 240 + "texture": "#planks" 241 + }, 242 + "south": { 243 + "uv": [ 244 + 0, 245 + 13, 246 + 1, 247 + 16 248 + ], 249 + "texture": "#planks" 250 + }, 251 + "west": { 252 + "uv": [ 253 + 0, 254 + 13, 255 + 16, 256 + 16 257 + ], 258 + "texture": "#planks" 259 + }, 260 + "up": { 261 + "uv": [ 262 + 0, 263 + 0, 264 + 1, 265 + 16 266 + ], 267 + "texture": "#planks" 268 + }, 269 + "down": { 270 + "uv": [ 271 + 0, 272 + 0, 273 + 1, 274 + 16 275 + ], 276 + "texture": "#planks" 277 + } 278 + } 279 + }, 280 + { 281 + "from": [ 282 + 15, 283 + 0, 284 + 0 285 + ], 286 + "to": [ 287 + 16, 288 + 3, 289 + 16 290 + ], 291 + "faces": { 292 + "north": { 293 + "uv": [ 294 + 15, 295 + 13, 296 + 16, 297 + 16 298 + ], 299 + "texture": "#planks" 300 + }, 301 + "east": { 302 + "uv": [ 303 + 0, 304 + 13, 305 + 16, 306 + 16 307 + ], 308 + "texture": "#planks" 309 + }, 310 + "south": { 311 + "uv": [ 312 + 15, 313 + 13, 314 + 16, 315 + 16 316 + ], 317 + "texture": "#planks" 318 + }, 319 + "west": { 320 + "uv": [ 321 + 0, 322 + 13, 323 + 16, 324 + 16 325 + ], 326 + "texture": "#planks" 327 + }, 328 + "up": { 329 + "uv": [ 330 + 15, 331 + 0, 332 + 16, 333 + 16 334 + ], 335 + "texture": "#planks" 336 + }, 337 + "down": { 338 + "uv": [ 339 + 15, 340 + 0, 341 + 16, 342 + 16 343 + ], 344 + "texture": "#planks" 345 + } 346 + } 347 + } 348 + ] 349 + }
+349
src/main/resources/assets/pets-and-pals/models/block/pet_raft_warped.json
··· 1 + { 2 + "credit": "model by aaronateataco", 3 + "textures": { 4 + "planks": "minecraft:block/warped_planks", 5 + "particle": "minecraft:block/warped_planks" 6 + }, 7 + "elements": [ 8 + { 9 + "from": [ 10 + 1, 11 + 0, 12 + 1 13 + ], 14 + "to": [ 15 + 15, 16 + 1, 17 + 15 18 + ], 19 + "faces": { 20 + "north": { 21 + "uv": [ 22 + 1, 23 + 15, 24 + 15, 25 + 16 26 + ], 27 + "texture": "#planks" 28 + }, 29 + "east": { 30 + "uv": [ 31 + 1, 32 + 15, 33 + 15, 34 + 16 35 + ], 36 + "texture": "#planks" 37 + }, 38 + "south": { 39 + "uv": [ 40 + 1, 41 + 15, 42 + 15, 43 + 16 44 + ], 45 + "texture": "#planks" 46 + }, 47 + "west": { 48 + "uv": [ 49 + 1, 50 + 15, 51 + 15, 52 + 16 53 + ], 54 + "texture": "#planks" 55 + }, 56 + "up": { 57 + "uv": [ 58 + 1, 59 + 1, 60 + 15, 61 + 15 62 + ], 63 + "texture": "#planks" 64 + }, 65 + "down": { 66 + "uv": [ 67 + 1, 68 + 1, 69 + 15, 70 + 15 71 + ], 72 + "texture": "#planks" 73 + } 74 + } 75 + }, 76 + { 77 + "from": [ 78 + 1, 79 + 0, 80 + 0 81 + ], 82 + "to": [ 83 + 15, 84 + 3, 85 + 1 86 + ], 87 + "faces": { 88 + "north": { 89 + "uv": [ 90 + 1, 91 + 13, 92 + 15, 93 + 16 94 + ], 95 + "texture": "#planks" 96 + }, 97 + "east": { 98 + "uv": [ 99 + 0, 100 + 13, 101 + 1, 102 + 16 103 + ], 104 + "texture": "#planks" 105 + }, 106 + "south": { 107 + "uv": [ 108 + 1, 109 + 13, 110 + 15, 111 + 16 112 + ], 113 + "texture": "#planks" 114 + }, 115 + "west": { 116 + "uv": [ 117 + 0, 118 + 13, 119 + 1, 120 + 16 121 + ], 122 + "texture": "#planks" 123 + }, 124 + "up": { 125 + "uv": [ 126 + 1, 127 + 0, 128 + 15, 129 + 1 130 + ], 131 + "texture": "#planks" 132 + }, 133 + "down": { 134 + "uv": [ 135 + 1, 136 + 0, 137 + 15, 138 + 1 139 + ], 140 + "texture": "#planks" 141 + } 142 + } 143 + }, 144 + { 145 + "from": [ 146 + 1, 147 + 0, 148 + 15 149 + ], 150 + "to": [ 151 + 15, 152 + 3, 153 + 16 154 + ], 155 + "faces": { 156 + "north": { 157 + "uv": [ 158 + 1, 159 + 13, 160 + 15, 161 + 16 162 + ], 163 + "texture": "#planks" 164 + }, 165 + "east": { 166 + "uv": [ 167 + 15, 168 + 13, 169 + 16, 170 + 16 171 + ], 172 + "texture": "#planks" 173 + }, 174 + "south": { 175 + "uv": [ 176 + 1, 177 + 13, 178 + 15, 179 + 16 180 + ], 181 + "texture": "#planks" 182 + }, 183 + "west": { 184 + "uv": [ 185 + 15, 186 + 13, 187 + 16, 188 + 16 189 + ], 190 + "texture": "#planks" 191 + }, 192 + "up": { 193 + "uv": [ 194 + 1, 195 + 15, 196 + 15, 197 + 16 198 + ], 199 + "texture": "#planks" 200 + }, 201 + "down": { 202 + "uv": [ 203 + 1, 204 + 15, 205 + 15, 206 + 16 207 + ], 208 + "texture": "#planks" 209 + } 210 + } 211 + }, 212 + { 213 + "from": [ 214 + 0, 215 + 0, 216 + 0 217 + ], 218 + "to": [ 219 + 1, 220 + 3, 221 + 16 222 + ], 223 + "faces": { 224 + "north": { 225 + "uv": [ 226 + 0, 227 + 13, 228 + 1, 229 + 16 230 + ], 231 + "texture": "#planks" 232 + }, 233 + "east": { 234 + "uv": [ 235 + 0, 236 + 13, 237 + 16, 238 + 16 239 + ], 240 + "texture": "#planks" 241 + }, 242 + "south": { 243 + "uv": [ 244 + 0, 245 + 13, 246 + 1, 247 + 16 248 + ], 249 + "texture": "#planks" 250 + }, 251 + "west": { 252 + "uv": [ 253 + 0, 254 + 13, 255 + 16, 256 + 16 257 + ], 258 + "texture": "#planks" 259 + }, 260 + "up": { 261 + "uv": [ 262 + 0, 263 + 0, 264 + 1, 265 + 16 266 + ], 267 + "texture": "#planks" 268 + }, 269 + "down": { 270 + "uv": [ 271 + 0, 272 + 0, 273 + 1, 274 + 16 275 + ], 276 + "texture": "#planks" 277 + } 278 + } 279 + }, 280 + { 281 + "from": [ 282 + 15, 283 + 0, 284 + 0 285 + ], 286 + "to": [ 287 + 16, 288 + 3, 289 + 16 290 + ], 291 + "faces": { 292 + "north": { 293 + "uv": [ 294 + 15, 295 + 13, 296 + 16, 297 + 16 298 + ], 299 + "texture": "#planks" 300 + }, 301 + "east": { 302 + "uv": [ 303 + 0, 304 + 13, 305 + 16, 306 + 16 307 + ], 308 + "texture": "#planks" 309 + }, 310 + "south": { 311 + "uv": [ 312 + 15, 313 + 13, 314 + 16, 315 + 16 316 + ], 317 + "texture": "#planks" 318 + }, 319 + "west": { 320 + "uv": [ 321 + 0, 322 + 13, 323 + 16, 324 + 16 325 + ], 326 + "texture": "#planks" 327 + }, 328 + "up": { 329 + "uv": [ 330 + 15, 331 + 0, 332 + 16, 333 + 16 334 + ], 335 + "texture": "#planks" 336 + }, 337 + "down": { 338 + "uv": [ 339 + 15, 340 + 0, 341 + 16, 342 + 16 343 + ], 344 + "texture": "#planks" 345 + } 346 + } 347 + } 348 + ] 349 + }