From 48b4135025cc203b0e736d2d53668822379ae281 Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 13 Aug 2023 15:10:49 +0100 Subject: [PATCH] Implement the different types of baskets --- .../entity/AirBalloonEntityRenderer.java | 6 +- .../unicopia/entity/AirBalloonEntity.java | 202 ++++++++++-------- .../minelittlepony/unicopia/item/UItems.java | 20 +- .../resources/assets/unicopia/lang/en_us.json | 8 + .../unicopia/models/item/acacia_basket.json | 6 + .../unicopia/models/item/bamboo_basket.json | 6 + .../unicopia/models/item/birch_basket.json | 6 + .../unicopia/models/item/cherry_basket.json | 6 + .../unicopia/models/item/dark_oak_basket.json | 6 + .../unicopia/models/item/jungle_basket.json | 6 + .../unicopia/models/item/mangrove_basket.json | 6 + .../unicopia/models/item/spruce_basket.json | 6 + .../entity/air_balloon/basket/acacia.png | Bin 0 -> 7070 bytes .../entity/air_balloon/basket/bamboo.png | Bin 0 -> 9940 bytes .../entity/air_balloon/basket/birch.png | Bin 0 -> 7107 bytes .../entity/air_balloon/basket/cherry.png | Bin 0 -> 7329 bytes .../entity/air_balloon/basket/dark_oak.png | Bin 0 -> 6989 bytes .../entity/air_balloon/basket/jungle.png | Bin 0 -> 7055 bytes .../entity/air_balloon/basket/mangrove.png | Bin 0 -> 6943 bytes .../entity/air_balloon/basket/oak.png | Bin 6648 -> 6874 bytes .../entity/air_balloon/basket/spruce.png | Bin 0 -> 7034 bytes .../entity/air_balloon/soul_burner.png | Bin 0 -> 5400 bytes .../unicopia/textures/item/acacia_basket.png | Bin 0 -> 6877 bytes .../unicopia/textures/item/bamboo_basket.png | Bin 0 -> 6934 bytes .../unicopia/textures/item/birch_basket.png | Bin 0 -> 6917 bytes .../unicopia/textures/item/cherry_basket.png | Bin 0 -> 6853 bytes .../textures/item/dark_oak_basket.png | Bin 0 -> 6807 bytes .../unicopia/textures/item/jungle_basket.png | Bin 0 -> 6883 bytes .../textures/item/mangrove_basket.png | Bin 0 -> 6858 bytes .../unicopia/textures/item/oak_basket.png | Bin 6555 -> 6673 bytes .../unicopia/textures/item/palm_basket.png | Bin 0 -> 6798 bytes .../unicopia/textures/item/spruce_basket.png | Bin 0 -> 6880 bytes .../data/unicopia/recipes/acacia_basket.json | 18 ++ .../data/unicopia/recipes/bamboo_basket.json | 18 ++ .../data/unicopia/recipes/birch_basket.json | 18 ++ .../data/unicopia/recipes/cherry_basket.json | 18 ++ .../unicopia/recipes/dark_oak_basket.json | 18 ++ .../data/unicopia/recipes/jungle_basket.json | 18 ++ .../unicopia/recipes/mangrove_basket.json | 18 ++ .../data/unicopia/recipes/spruce_basket.json | 18 ++ 40 files changed, 332 insertions(+), 96 deletions(-) create mode 100644 src/main/resources/assets/unicopia/models/item/acacia_basket.json create mode 100644 src/main/resources/assets/unicopia/models/item/bamboo_basket.json create mode 100644 src/main/resources/assets/unicopia/models/item/birch_basket.json create mode 100644 src/main/resources/assets/unicopia/models/item/cherry_basket.json create mode 100644 src/main/resources/assets/unicopia/models/item/dark_oak_basket.json create mode 100644 src/main/resources/assets/unicopia/models/item/jungle_basket.json create mode 100644 src/main/resources/assets/unicopia/models/item/mangrove_basket.json create mode 100644 src/main/resources/assets/unicopia/models/item/spruce_basket.json create mode 100644 src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/acacia.png create mode 100644 src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/bamboo.png create mode 100644 src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/birch.png create mode 100644 src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/cherry.png create mode 100644 src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/dark_oak.png create mode 100644 src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/jungle.png create mode 100644 src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/mangrove.png create mode 100644 src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/spruce.png create mode 100644 src/main/resources/assets/unicopia/textures/entity/air_balloon/soul_burner.png create mode 100644 src/main/resources/assets/unicopia/textures/item/acacia_basket.png create mode 100644 src/main/resources/assets/unicopia/textures/item/bamboo_basket.png create mode 100644 src/main/resources/assets/unicopia/textures/item/birch_basket.png create mode 100644 src/main/resources/assets/unicopia/textures/item/cherry_basket.png create mode 100644 src/main/resources/assets/unicopia/textures/item/dark_oak_basket.png create mode 100644 src/main/resources/assets/unicopia/textures/item/jungle_basket.png create mode 100644 src/main/resources/assets/unicopia/textures/item/mangrove_basket.png create mode 100644 src/main/resources/assets/unicopia/textures/item/palm_basket.png create mode 100644 src/main/resources/assets/unicopia/textures/item/spruce_basket.png create mode 100644 src/main/resources/data/unicopia/recipes/acacia_basket.json create mode 100644 src/main/resources/data/unicopia/recipes/bamboo_basket.json create mode 100644 src/main/resources/data/unicopia/recipes/birch_basket.json create mode 100644 src/main/resources/data/unicopia/recipes/cherry_basket.json create mode 100644 src/main/resources/data/unicopia/recipes/dark_oak_basket.json create mode 100644 src/main/resources/data/unicopia/recipes/jungle_basket.json create mode 100644 src/main/resources/data/unicopia/recipes/mangrove_basket.json create mode 100644 src/main/resources/data/unicopia/recipes/spruce_basket.json diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/AirBalloonEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/AirBalloonEntityRenderer.java index 27c61abb..f7b3e3c0 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/AirBalloonEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/AirBalloonEntityRenderer.java @@ -14,13 +14,17 @@ import net.minecraft.client.render.entity.*; import net.minecraft.client.render.entity.feature.FeatureRenderer; import net.minecraft.client.render.entity.feature.FeatureRendererContext; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.item.Items; +import net.minecraft.util.Hand; import net.minecraft.util.Identifier; import net.minecraft.util.math.Box; public class AirBalloonEntityRenderer extends MobEntityRenderer { public AirBalloonEntityRenderer(EntityRendererFactory.Context context) { super(context, new AirBalloonEntityModel(AirBalloonEntityModel.getBasketModelData().createModel()), 0); - addFeature(new BalloonFeature(new AirBalloonEntityModel(AirBalloonEntityModel.getBurnerModelData().createModel()), this, AirBalloonEntity::hasBurner, e -> getComponentTexture("burner"))); + addFeature(new BalloonFeature(new AirBalloonEntityModel(AirBalloonEntityModel.getBurnerModelData().createModel()), this, AirBalloonEntity::hasBurner, e -> { + return getComponentTexture(e.getStackInHand(Hand.MAIN_HAND).isOf(Items.SOUL_LANTERN) ? "soul_burner" : "burner"); + })); addFeature(new BalloonFeature(new AirBalloonEntityModel(AirBalloonEntityModel.getCanopyModelData().createModel()), this, AirBalloonEntity::hasBalloon, e -> getComponentTexture("canopy/" + e.getDesign().asString()))); } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/AirBalloonEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/AirBalloonEntity.java index 83e198f8..e26cb7c2 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/AirBalloonEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/AirBalloonEntity.java @@ -1,9 +1,11 @@ package com.minelittlepony.unicopia.entity; +import net.minecraft.block.BlockState; import net.minecraft.block.ShapeContext; import net.minecraft.entity.*; +import net.minecraft.entity.damage.DamageSource; import net.minecraft.entity.data.*; -import net.minecraft.entity.mob.FlyingEntity; +import net.minecraft.entity.mob.MobEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.vehicle.BoatEntity; import net.minecraft.item.Item; @@ -11,6 +13,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.nbt.NbtCompound; import net.minecraft.particle.ParticleTypes; +import net.minecraft.predicate.entity.EntityPredicates; import net.minecraft.sound.SoundEvents; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; @@ -27,6 +30,7 @@ import java.util.List; import java.util.Locale; import java.util.function.Consumer; import java.util.function.IntFunction; +import java.util.function.Predicate; import com.minelittlepony.unicopia.entity.collision.EntityCollisions; import com.minelittlepony.unicopia.entity.collision.MultiBox; @@ -35,10 +39,10 @@ import com.minelittlepony.unicopia.item.HotAirBalloonItem; import com.minelittlepony.unicopia.item.UItems; import com.minelittlepony.unicopia.server.world.WeatherConditions; -public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.ComplexCollidable, MultiBoundingBoxEntity { - private static final byte HAS_BURNER = 2; - private static final byte BURNER_ACTIVE = 4; - private static final TrackedData BURNER_FLAGS = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.INTEGER); +public class AirBalloonEntity extends MobEntity implements EntityCollisions.ComplexCollidable, MultiBoundingBoxEntity { + private static final Predicate CRUSHABLE_PREDICATE = EntityPredicates.EXCEPT_CREATIVE_OR_SPECTATOR.and(EntityPredicates.VALID_LIVING_ENTITY); + + private static final TrackedData ASCENDING = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.BOOLEAN); private static final TrackedData BOOSTING = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.INTEGER); private static final TrackedData INFLATION = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.INTEGER); private static final TrackedData BASKET_TYPE = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.INTEGER); @@ -58,7 +62,7 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C @Override protected void initDataTracker() { super.initDataTracker(); - dataTracker.startTracking(BURNER_FLAGS, 0); + dataTracker.startTracking(ASCENDING, false); dataTracker.startTracking(BOOSTING, 0); dataTracker.startTracking(INFLATION, 0); dataTracker.startTracking(BASKET_TYPE, 0); @@ -86,11 +90,7 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C } public boolean hasBurner() { - return getFlag(HAS_BURNER); - } - - public void setHasBurner(boolean hasBurner) { - setFlag(HAS_BURNER, hasBurner); + return !getStackInHand(Hand.MAIN_HAND).isEmpty(); } public float getInflation(float tickDelta) { @@ -109,12 +109,12 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C return 100; } - public boolean isBurnerActive() { - return hasBalloon() && getFlag((byte)(HAS_BURNER | BURNER_ACTIVE)); + public boolean isAscending() { + return hasBalloon() && dataTracker.get(ASCENDING); } - public void setBurnerActive(boolean burnerActive) { - setFlag(BURNER_ACTIVE, burnerActive); + public void setAscending(boolean ascending) { + dataTracker.set(ASCENDING, ascending); } public int getBoostTicks() { @@ -125,17 +125,8 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C dataTracker.set(BOOSTING, ticks); } - private boolean getFlag(byte flag) { - return (dataTracker.get(BURNER_FLAGS).intValue() & flag) == flag; - } - - private void setFlag(byte flag, boolean val) { - int v = dataTracker.get(BURNER_FLAGS); - dataTracker.set(BURNER_FLAGS, val ? (v | flag) : (v & ~flag)); - } - private boolean isAirworthy() { - return hasBalloon() && isBurnerActive(); + return hasBalloon() && hasBurner() && getInflation() >= getMaxInflation(); } @Override @@ -164,7 +155,7 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C boolean boosting = boostTicks > 0; - if (hasBurner() && isBurnerActive()) { + if (hasBurner() && isAscending()) { if (inflation < getMaxInflation()) { inflation++; if (boosting) { @@ -178,21 +169,26 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C } } - addVelocity(0, isBurnerActive() && inflation >= getMaxInflation() ? 0.005 : -0.013, 0); - addVelocity(manualVelocity.multiply(0.1)); + if (isAirworthy()) { + addVelocity(0, isAscending() && inflation >= getMaxInflation() ? 0.005 : -0.013, 0); + addVelocity(manualVelocity.multiply(0.1)); + } manualVelocity = manualVelocity.multiply(0.9); - if (!isAirworthy() && isSubmergedInWater()) { + if (!(hasBalloon() && isAscending()) && isSubmergedInWater()) { setVelocity(getVelocity().multiply(0.9, 0.4, 0.9).add(0, 0.02, 0)); } Random rng = getWorld().random; if (getWorld().isClient()) { - if (hasBurner() && isBurnerActive()) { + if (hasBurner() && isAscending()) { Vec3d burnerPos = getPos().add(0, 3, 0); for (int i = 0; i < (boosting ? 6 : 1); i++) { - getWorld().addParticle(ParticleTypes.FLAME, + getWorld().addParticle( + getStackInHand(Hand.MAIN_HAND).isOf(Items.SOUL_LANTERN) + ? ParticleTypes.SOUL_FIRE_FLAME + : ParticleTypes.FLAME, rng.nextTriangular(burnerPos.x, 0.25), rng.nextTriangular(burnerPos.y, 1), rng.nextTriangular(burnerPos.z, 0.25), @@ -203,7 +199,7 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C } } } else if (inflation >= getMaxInflation()) { - if (hasBurner() && isBurnerActive()) { + if (hasBurner() && isAscending()) { addVelocity(WeatherConditions.getAirflow(getBlockPos(), getWorld()).multiply(0.2)); setVelocity(getVelocity().multiply(0.3, 1, 0.3)); } @@ -217,7 +213,7 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C playSound(SoundEvents.ENTITY_GHAST_SHOOT, 1, 1); } - if (isBurnerActive() && age % 15 + rng.nextInt(5) == 0) { + if (isAscending() && age % 15 + rng.nextInt(5) == 0) { playSound(SoundEvents.ENTITY_GHAST_SHOOT, 0.2F, 1); } @@ -227,7 +223,11 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C if (leashPost.distanceTo(pos) >= 5) { Vec3d newVel = leashPost.subtract(pos).multiply(0.01); - setVelocity(newVel.lengthSquared() < 0.03 ? Vec3d.ZERO : newVel); + if (isAirworthy()) { + setVelocity(newVel.lengthSquared() < 0.03 ? Vec3d.ZERO : newVel); + } else { + setVelocity(getVelocity().multiply(0.9).add(newVel)); + } } } @@ -245,7 +245,7 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C private void updatePassengers() { for (Box box : getBoundingBoxes()) { - for (Entity e : getWorld().getOtherEntities(this, box.expand(getVelocity().length()).expand(0, 0.5, 0))) { + for (Entity e : getWorld().getOtherEntities(this, box.stretch(getVelocity()).expand(0, 0.5, 0))) { updatePassenger(e, box, e.getY() > getY() + 3); } } @@ -253,38 +253,40 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C private void updatePassenger(Entity e, Box box, boolean inBalloon) { - double height = box.getYLength(); + if (e instanceof AirBalloonEntity) { + return; + } - if (height < 3 || e.getBoundingBox().minY > box.minY + height / 2D) { - if (getVelocity().y > 0 && e.getBoundingBox().minY < box.maxY + 0.02) { - e.setPos(e.getX(), box.maxY, e.getZ()); + if (!isOnGround() && (isAirworthy() || isSubmergedInWater() || isLeashed())) { + Vec3d vel = getVelocity(); + + double height = box.getYLength(); + + if (height < 3 || e.getBoundingBox().minY > box.minY + height / 2D) { + if (vel.y > 0 && e.getBoundingBox().minY < box.maxY + 0.02) { + e.setPos(e.getX(), box.maxY, e.getZ()); + } + if (vel.y < 0 && e.getBoundingBox().minY > box.maxY) { + e.setPos(e.getX(), box.maxY, e.getZ()); + } } - if (getVelocity().y < 0 && e.getBoundingBox().minY > box.maxY) { - e.setPos(e.getX(), box.maxY, e.getZ()); + + if (manualVelocity.length() > 0.01 || vel.length() > 0.3) { + e.setVelocity(vel.multiply(0.1, 0.5, 0.1)); } - } - if (manualVelocity.length() > 0.01 || getVelocity().length() > 0.3) { - e.setVelocity(e.getVelocity().multiply(0.1, 0.5, 0.1)); - } - - if (getVelocity().y < 0) { - e.addVelocity(0, getVelocity().y, 0); - Living.updateVelocity(e); - } - - if (inBalloon && !e.isSneaky() && Math.abs(e.getVelocity().y) > 0.079) { - e.setVelocity(e.getVelocity().multiply(1, e.getVelocity().y < 0 ? -0.9 : 1.2, 1).add(0, 0.8, 0)); - if (Math.abs(e.getVelocity().y) > 2) { - e.setVelocity(e.getVelocity().x, MathHelper.clamp(e.getVelocity().y, -2, 2), e.getVelocity().z); + if (vel.y < 0) { + e.addVelocity(0, vel.y, 0); + Living.updateVelocity(e); } + + Living.getOrEmpty(e).ifPresent(living -> { + living.setSupportingEntity(this); + living.setPositionOffset(e.getPos().subtract(oldPosition)); + living.updateRelativePosition(box); + }); } - Living.getOrEmpty(e).ifPresent(living -> { - living.setSupportingEntity(this); - living.setPositionOffset(e.getPos().subtract(oldPosition)); - living.updateRelativePosition(box); - }); if (getWorld().isClient) { if (e.distanceTraveled > ((EntityDuck)e).getNextStepSoundDistance()) { @@ -304,8 +306,8 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C if (hitPos.y > (3 * getInflation(1))) { if (hasBalloon() && hasBurner()) { if (stack.isOf(Items.FLINT_AND_STEEL)) { - setBurnerActive(!isBurnerActive()); - if (isBurnerActive()) { + setAscending(!isAscending()); + if (isAscending()) { playSound(SoundEvents.ENTITY_GHAST_SHOOT, 1, 1); } stack.damage(1, player, p -> p.sendEquipmentBreakStatus(hand == Hand.MAIN_HAND ? EquipmentSlot.MAINHAND : EquipmentSlot.OFFHAND)); @@ -320,7 +322,7 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C if (!getWorld().isClient) { manualVelocity = manualVelocity.add(0.3 * xPush, 0, 0.3 * zPush); } - } else if (stack.isEmpty() && isBurnerActive()) { + } else if (stack.isEmpty() && isAscending()) { setBoostTicks(50); getWorld().emitGameEvent(this, GameEvent.ENTITY_INTERACT, getBlockPos()); } @@ -351,7 +353,6 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C } playSound(SoundEvents.ENTITY_IRON_GOLEM_DAMAGE, 0.2F, 1); getWorld().emitGameEvent(this, GameEvent.ENTITY_INTERACT, getBlockPos()); - setHasBurner(true); return ActionResult.SUCCESS; } @@ -390,19 +391,18 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C return true; } - @Override - public boolean isPushable() { - return true; - } - @Override public void pushAwayFrom(Entity entity) { - + if (entity instanceof AirBalloonEntity) { + super.pushAwayFrom(entity); + } } @Override public void pushAway(Entity entity) { - + if (entity instanceof AirBalloonEntity) { + super.pushAway(entity); + } } @Override @@ -410,6 +410,38 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C return Entity.MoveEffect.EVENTS; } + @Override + protected void fall(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) { + } + + @Override + public void travel(Vec3d movementInput) { + if (!this.isAirworthy()) { + super.travel(movementInput); + } else { + final float speed = 0.02F; + final float momentum = 0.91F; + if (isLogicalSideForUpdatingMovement()) { + if (isTouchingWater() || isInLava()) { + updateVelocity(speed, movementInput); + move(MovementType.SELF, getVelocity()); + setVelocity(getVelocity().multiply(isTouchingWater() ? 0.8 : 0.5)); + } else { + float slipperyness = (isOnGround() ? getWorld().getBlockState(getVelocityAffectingPos()).getBlock().getSlipperiness() : 1) * momentum; + float drag = isOnGround() ? 0.1F * (0.16277137F / (slipperyness * slipperyness * slipperyness)) : speed; + updateVelocity(drag, movementInput); + move(MovementType.SELF, getVelocity()); + setVelocity(getVelocity().multiply(slipperyness)); + } + } + updateLimbs(false); + } + } + + @Override + public boolean isClimbing() { + return false; + } @Override public Box getVisibilityBoundingBox() { @@ -439,18 +471,20 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C double wallheight = box.maxY + 0.7; double wallThickness = 0.7; - // front left (next to door) - output.accept(VoxelShapes.cuboid(new Box(box.minX, box.minY, box.minZ, box.minX + wallThickness + 0.2, wallheight, box.minZ + wallThickness))); - // front right (next to door) - output.accept(VoxelShapes.cuboid(new Box(box.maxX - wallThickness - 0.2, box.minY, box.minZ, box.maxX, wallheight, box.minZ + wallThickness))); + if (getBasketType() != BoatEntity.Type.BAMBOO) { + // front left (next to door) + output.accept(VoxelShapes.cuboid(new Box(box.minX, box.minY, box.minZ, box.minX + wallThickness + 0.2, wallheight, box.minZ + wallThickness))); + // front right (next to door) + output.accept(VoxelShapes.cuboid(new Box(box.maxX - wallThickness - 0.2, box.minY, box.minZ, box.maxX, wallheight, box.minZ + wallThickness))); - // back - output.accept(VoxelShapes.cuboid(new Box(box.minX, box.minY, box.maxZ - wallThickness, box.maxX, wallheight, box.maxZ))); + // back + output.accept(VoxelShapes.cuboid(new Box(box.minX, box.minY, box.maxZ - wallThickness, box.maxX, wallheight, box.maxZ))); - // left - output.accept(VoxelShapes.cuboid(new Box(box.maxX - wallThickness, box.minY, box.minZ, box.maxX, wallheight, box.maxZ))); - // right - output.accept(VoxelShapes.cuboid(new Box(box.minX, box.minY, box.minZ, box.minX + wallThickness, wallheight, box.maxZ))); + // left + output.accept(VoxelShapes.cuboid(new Box(box.maxX - wallThickness, box.minY, box.minZ, box.maxX, wallheight, box.maxZ))); + // right + output.accept(VoxelShapes.cuboid(new Box(box.minX, box.minY, box.minZ, box.minX + wallThickness, wallheight, box.maxZ))); + } // top of balloon if (hasBalloon() && getInflation() > 0) { @@ -463,8 +497,7 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C super.readCustomDataFromNbt(compound); setBasketType(BoatEntity.Type.getType(compound.getString("basketType"))); setDesign(BalloonDesign.getType(compound.getString("design"))); - setHasBurner(compound.getBoolean("hasBurner")); - setBurnerActive(compound.getBoolean("burnerActive")); + setAscending(compound.getBoolean("burnerActive")); setBoostTicks(compound.getInt("boostTicks")); prevInflation = compound.getInt("inflationAmount"); setInflation(prevInflation); @@ -475,8 +508,7 @@ public class AirBalloonEntity extends FlyingEntity implements EntityCollisions.C super.writeCustomDataToNbt(compound); compound.putString("design", getDesign().asString()); compound.putString("basket", getBasketType().asString()); - compound.putBoolean("hasBurner", hasBurner()); - compound.putBoolean("burnerActive", isBurnerActive()); + compound.putBoolean("burnerActive", isAscending()); compound.putInt("boostTicks", getBoostTicks()); compound.putInt("inflationAmount", getInflation()); } diff --git a/src/main/java/com/minelittlepony/unicopia/item/UItems.java b/src/main/java/com/minelittlepony/unicopia/item/UItems.java index 233d42f8..4831b95f 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/UItems.java +++ b/src/main/java/com/minelittlepony/unicopia/item/UItems.java @@ -119,17 +119,17 @@ public interface UItems { Item BUTTERFLY = register("butterfly", new Item(new Item.Settings().food(UFoodComponents.INSECTS)), ItemGroups.FOOD_AND_DRINK); Item SPELLBOOK = register("spellbook", new SpellbookItem(new Item.Settings().maxCount(1).rarity(Rarity.UNCOMMON)), ItemGroups.TOOLS); - Item OAK_BASKET = register("oak_basket", new BasketItem(BoatEntity.Type.OAK, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); - Item SPRUCE_BASKET = register("spruce_basket", new BasketItem(BoatEntity.Type.SPRUCE, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); - Item BIRCH_BASKET = register("birch_basket", new BasketItem(BoatEntity.Type.BIRCH, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); - Item JUNGLE_BASKET = register("jungle_basket", new BasketItem(BoatEntity.Type.JUNGLE, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); - Item ACACIA_BASKET = register("acacia_basket", new BasketItem(BoatEntity.Type.ACACIA, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); - Item CHERRY_BASKET = register("cherry_basket", new BasketItem(BoatEntity.Type.CHERRY, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); - Item DARK_OAK_BASKET = register("dark_oak_basket", new BasketItem(BoatEntity.Type.DARK_OAK, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); - Item MANGROVE_BASKET = register("mangrove_basket", new BasketItem(BoatEntity.Type.MANGROVE, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); - Item BAMBOO_BASKET = register("bamboo_basket", new BasketItem(BoatEntity.Type.BAMBOO, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); + Item OAK_BASKET = register("oak_basket", new BasketItem(BoatEntity.Type.OAK, new Item.Settings().maxCount(1)), ItemGroups.TOOLS); + Item SPRUCE_BASKET = register("spruce_basket", new BasketItem(BoatEntity.Type.SPRUCE, new Item.Settings().maxCount(1)), ItemGroups.TOOLS); + Item BIRCH_BASKET = register("birch_basket", new BasketItem(BoatEntity.Type.BIRCH, new Item.Settings().maxCount(1)), ItemGroups.TOOLS); + Item JUNGLE_BASKET = register("jungle_basket", new BasketItem(BoatEntity.Type.JUNGLE, new Item.Settings().maxCount(1)), ItemGroups.TOOLS); + Item ACACIA_BASKET = register("acacia_basket", new BasketItem(BoatEntity.Type.ACACIA, new Item.Settings().maxCount(1)), ItemGroups.TOOLS); + Item CHERRY_BASKET = register("cherry_basket", new BasketItem(BoatEntity.Type.CHERRY, new Item.Settings().maxCount(1)), ItemGroups.TOOLS); + Item DARK_OAK_BASKET = register("dark_oak_basket", new BasketItem(BoatEntity.Type.DARK_OAK, new Item.Settings().maxCount(1)), ItemGroups.TOOLS); + Item MANGROVE_BASKET = register("mangrove_basket", new BasketItem(BoatEntity.Type.MANGROVE, new Item.Settings().maxCount(1)), ItemGroups.TOOLS); + Item BAMBOO_BASKET = register("bamboo_basket", new BasketItem(BoatEntity.Type.BAMBOO, new Item.Settings().maxCount(1)), ItemGroups.TOOLS); - Item GIANT_BALLOON = register("giant_balloon", new HotAirBalloonItem(new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); + Item GIANT_BALLOON = register("giant_balloon", new HotAirBalloonItem(new Item.Settings().maxCount(1)), ItemGroups.TOOLS); AmuletItem PEGASUS_AMULET = register("pegasus_amulet", new PegasusAmuletItem(new FabricItemSettings() .maxCount(1) diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index f96d69d2..dec994de 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -24,6 +24,14 @@ "item.unicopia.friendship_bracelet.glowing": "Glowing", "item.unicopia.oak_basket": "Oak Basket", + "item.unicopia.spruce_basket": "Spruce Basket", + "item.unicopia.birch_basket": "Birch Basket", + "item.unicopia.jungle_basket": "Jungle Basket", + "item.unicopia.acacia_basket": "Acacia Basket", + "item.unicopia.cherry_basket": "Cherry Basket", + "item.unicopia.dark_oak_basket": "Dark Oak Basket", + "item.unicopia.mangrove_basket": "Mangrove Basket", + "item.unicopia.bamboo_basket": "Bamboo Basket", "item.unicopia.giant_balloon": "Giant Balloon", "item.unicopia.spellbook": "Spellbook", diff --git a/src/main/resources/assets/unicopia/models/item/acacia_basket.json b/src/main/resources/assets/unicopia/models/item/acacia_basket.json new file mode 100644 index 00000000..b2d23162 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/acacia_basket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "unicopia:item/acacia_basket" + } +} diff --git a/src/main/resources/assets/unicopia/models/item/bamboo_basket.json b/src/main/resources/assets/unicopia/models/item/bamboo_basket.json new file mode 100644 index 00000000..d18bc6e1 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/bamboo_basket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "unicopia:item/bamboo_basket" + } +} diff --git a/src/main/resources/assets/unicopia/models/item/birch_basket.json b/src/main/resources/assets/unicopia/models/item/birch_basket.json new file mode 100644 index 00000000..57ce4834 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/birch_basket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "unicopia:item/birch_basket" + } +} diff --git a/src/main/resources/assets/unicopia/models/item/cherry_basket.json b/src/main/resources/assets/unicopia/models/item/cherry_basket.json new file mode 100644 index 00000000..e7c178ef --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/cherry_basket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "unicopia:item/cherry_basket" + } +} diff --git a/src/main/resources/assets/unicopia/models/item/dark_oak_basket.json b/src/main/resources/assets/unicopia/models/item/dark_oak_basket.json new file mode 100644 index 00000000..01d6ef2e --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/dark_oak_basket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "unicopia:item/dark_oak_basket" + } +} diff --git a/src/main/resources/assets/unicopia/models/item/jungle_basket.json b/src/main/resources/assets/unicopia/models/item/jungle_basket.json new file mode 100644 index 00000000..d7bbc875 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/jungle_basket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "unicopia:item/jungle_basket" + } +} diff --git a/src/main/resources/assets/unicopia/models/item/mangrove_basket.json b/src/main/resources/assets/unicopia/models/item/mangrove_basket.json new file mode 100644 index 00000000..a0f15f37 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/mangrove_basket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "unicopia:item/mangrove_basket" + } +} diff --git a/src/main/resources/assets/unicopia/models/item/spruce_basket.json b/src/main/resources/assets/unicopia/models/item/spruce_basket.json new file mode 100644 index 00000000..3ab54be5 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/spruce_basket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "unicopia:item/spruce_basket" + } +} diff --git a/src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/acacia.png b/src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/acacia.png new file mode 100644 index 0000000000000000000000000000000000000000..659c43ec9f48fc7d2a974f927a66082fe0a03914 GIT binary patch literal 7070 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 MtCvfmQ`nk+0g$XPC;$Ke literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/bamboo.png b/src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/bamboo.png new file mode 100644 index 0000000000000000000000000000000000000000..9ccce81f3f1f9b37651a9787cc648927dc4b8ca7 GIT binary patch literal 9940 zcmeHscT`i^_wS`BNJpg!0)k4BkVYg4T{;TVMNlw=00BY*p-PpeBE`ZeDoud_K@jO3 z5mD(jQ0ann2~~RFcR|OQdGEK@TeE)e`_}to!rHm#p0oGo?DN_C>~n9pYHXy-$##GZ z002&XJuOoJU;vvyDC=(U`)f(r_P`s0mA<3CzAV5B-hdqp%s-SsO@^QCP;i8ifeBy& zuTh}v1>4&|+j4+m*UmKtYzzNvCxC6~pE}z%a0W(z6TBvYf&kn5!D|jE#LGYCss-EI zAJ&~eMMhvps;%oWn;=2W}XvbjxY(hS?bBmo3kQz%d>Oe<(rGDJLs4b2K^49 zrw_-$`wFfoUdd8~Brm9XB>r|dawW;HH;sL-n&)|+)mZ9V+$E=|*i#o%(5K}1m8@tN zED`2IGDBA$x+Fjy&Re3%9+t;YU6oQHIM|asIcoAKY_HXey{0^e(xVWv1w5G+l8svT zmWD+)54}p2xN|BWA&B8Oj$~_^3*V}rac_J6HRAsM7^XgGDILzX_>Hlxk`yA=iW?X{hyDon0 z?YCY>2LXr=7W2E&Xy%vE2{p7inz|EtD~0%dnW>KC*~qzK2PPl4D$(4^%gXQ+7EdP0 z;~dEL1bIIaWjkPivYH8V-kx}ZwhzJGOY*M} z4)|a86mL(ro#i;-p#(Pq2~?$mv%>#2<@S#IWwA|x6OlyOu>#5do2D1h@lUe;=G*qj z&T{_h2x$Hb_ix&NtbIor)G{>0YLW5Y+wSRWsYqEK2 zXAi+(@Hhwtt%x|Th_-jYINJXO;Q?L&cHU|SPf%+6$ykq?9U!! zH=LIvXrLl-isH0@M@xMt07(o%{07uzF6bNtvL;-_B zLeMZI8Uk0q778y>~Qu=+t-<} z9R-ju2nDm`$-t|KflD|ipb+I7!m_@mxw@M6^>(3i2rv>#3L1PNTdQBg2&;(4UH!#Krje28iK?V;BXWINr1zC z)P!Gg`5!G2`M;+9&nPNGw=4f2d8-Wl-!l7$!e5RGF#13Gz#|Ae(V)MMw4Z4K`um^! z{M=Fh$tlFe|DEI?@%t}b|I+o382CrZ|7O>}bp0a+{*m&(+4X;oF19~kiV5!Ev#c-p z$~zX#{}Oy%-fe$UR||L#JOO|aL`E*yvxlO0mI?su`?iGvxR)ddcCvWs8)~zRv2t?o z%8?Q>c)?#*a`m+|%>BBj`%cD?KHs?hMa@1hNOTpwTB|rUeRJaF-V1IY-$%w;w`#N= z_`u|NDnRR`9?V$~>HO%3U_%64T%%{Y(qcrGsg2`$_jKWX8|ZS|di$$3YJ0z{Hq0su z@qQn7l{I#bbE>O72;uGX?ch`UM*doft>tz#FT?v+WbQ>|gb6rNq}VeO#&e(guH4^v zA3_&PY(s2qlx<;OAI-Vop7A*QaLRdAM@07n%dDyWiYqlC%W8K)jUiuKP3G35yzny> zek*VqyWVvN9h7FMX}h3zPnyt+6{nC-aa(t`R#3YY&DBkc_qDb^qDM5fLncS?BK01@ zGXwc?tH~dEy-!6VLfE)EBb)qmP`cVHFUj-(94EadbyIiCdux-XxcSz4^L(xBYA*Jv zMS*9WxZWiVK3Q}egRRJEBfE}#ZqGDZ;}?haSf@RSt2Axd6=lNmpdZ}0FJT>E8f_&^N z!o%0QKkLo1(+4*H;##}%5XAb+C-i0C;d|%e0m|5`WfK#gR~#t;UtE;~De;Z-Hy<0w z@bQggK1qeui2y5aFH3PWzSf7acxTf@L=KwdQkTYgQ<8&;XI@pW*YD{RmvM9BK4)t? zSW-OP_-Hh=IF;BwEnxR$@k_(haL7DQnu>RExyD|epk}}M#F3GS$${^aiE5S9Fo{GV zXz;X!QLul!wZOD~#)(?q3teq>tDo0BI<J{}4nlttC ziX!{Q!H|-J#()pmndb{=aexhr-SGTG5dWRH+*^gSZ~L-Z9q)eJT2g&1-=D9bq9)uXDb-?gYKu4)I99@Rs@^rglqd3C*yHZqAa!rJWA1&7qWgm@O@ir(A zDL4s<5^~-P(@^@S=DNjXGkq1a`Vk78unUd6@cVX6w26Juf zQwM>yRiVe8t6%r=-{H2BZ|C9djlh|_zNK|AKi=QRC+g~rTSMW<1MKujShs3c0yXD- z{#Rj*bg_1mXYjR5m_c*(6Jwj}O=pEKTh}k-blRLdN+O#*$C5c-nB+B!_NU>e#mlNtfxn9qgDX z+2zX#`+1!LI{X8-Haq9UHsUXH1T`jgVxG0>=eW^CDQjOD^m{_;ax4NVsisM>(uo0fX#xO8lXSwgcJv;bgm`Xl#5VZpc9w`da2 z@rHdcSe`uOYx$~fNpXqCTdUsixWT$Uu%Puww#wJ+DSjT!8J$nUF>v--L@N((*QaL-3 z7c%r+eM>$q-y7$IPk*|sdpW`07*`tdV&j`UQ8t@x*q!B!u7$>fr95eAMcNydvZWgw zr3#)|i{WMBgRs8d--}dQlRfc56sJ;rYCc|FGs)lZgcs!6xCd{y& z@Rqu28vSJy%v4ufCcl}8d^3K{OtZ*N@09%p-dfhGsb6*6>0dN^yPMSwNWAqqRKG<= zr_-YExK*wklBj#fQXmqOzi$>iVJMdfWbwEsT_f7SrLmNdNT_O6fcHj7z*hfcdI|ey zj>_IO9@}8=ms!3u>4$SVg;N(8@-p|>u6C2>C#2LQuZo8{5-?B`<`{{=i!7nO{mRTq zxyPP_JxW(cNl6Lr);qiM<+P1E{iWjaYqpeqB?qQcAm2o4UazJfVNIwl4czGHhLeM) zLUZD(-V=^oea9X3d+7yOb912J>wCQ3OYtdVkquN@V6O`>Qyu(8*2h52kQT<>FFBr@G@0GMEvZTlHA#*wu|v;w9`y0?G4VDvl7n`P>nN2g$uM-^yV@H0Sh3wdAk}H?^y}oC zZtZjI(5Kbq1C^|1E~gbum^r3I02dEaRlF7Uwm9FLjMh|)MAT@PGqSF{{m$4zvvG&u z$P1WY5UMi6nEPz2fZV!M%qxTQ=Te<&(b}z#v_B^vtglYaGJZtI#2H@{%qhF(SJ^TD z`8^m7p+-xAYIFmo>)mxDnNI0OeSK-gi`=6vW-lI0CA?j{UbL>Jt)tGzztAl08o2Nr zjFFO9AB$^CFpYGuR!kPNr{aD=MM=x&_v;D5u4`iSCdr&K*{wSSrhPnh@pvmfQx~O$ zTIJEpGXo9Uf{*5(A5+?Bgr;85)G*J^ESwzH&`NZ7FF-1Nc^eMRcV!hz5wEqrm#|c1 zVS}Y?^d1YGTb1I_Jd!n41Niobgl3!dVQN)|-Zro#^q;BAEmPq+^q2~)(55bvCh|Vz z#9CS!s>gLleEzbKq&j)y@R^G5He``E(Bz~uyg-(Gva$=O%9UbET$1k@ROn1iaKy=~ z@lx((|GDuboE5?nM{M`HDScA6$ZS`(Kp;JnDR?%EyBkv%1iWJlm65Tmfw1#C&8+OQ z#nb`}9%FR7;*QlmMXuRNKa|cb%);>b!crdx#n*jnK8)JDFh=#3Jf|vWMvZRA1AHH> zMf1}+kG>bW8&qxr8|eA`;C3e>sW=u>PEieMrMbo9h@{VhFFAc?oZ}-*qnel6x#&gD zyNV@`;G{?;?4Gv;*DkqBQazRuW1HH&RYMAN9~CRD4GEnuiya()eb?QsfhHQ3b~U%M zzMrN_pXaa;tfsgwhrVl&X7B8g)!om~V9f%Qv9Hxu9xy*fT z@$H^W_2#@YTcaEdNGE00vGGqUA$4dRRT9ZT8n~3_!bVH;Z=IvQ3fye!6AsuTYCr01 z+REuWUT7M<(45;77`)8TXLVM-<-2m|^2`m3M~>BtljPaYSz?m?Yd|zc-+tWCYWcu3 zU#?jrt8@I7k3YB!MmxUNm;N4hC$&fF(Yfyzc4HIt=xfHe zqZ})&UxiHBtY;VrMW+@7m#AjpvllZNb>tnvDu+PS8{noN3!`B45lz|w< zi2VET9{v}}gqoyC_ zyGAGrK97`bR3EfV$EDn&thTUI^gBoH zp}5hACBA`A%yrf6W6;w*TVqDYGp%iS(Ni{u_9g|JG$}608Fx&apJ>e7Bj1JY~alMdAW800hsz-J>7jp7Eg{j_Qq!xUP%$S>p2Fm}S3B_vRc7-`Y&$TiPw@ zdtxHlBr7rGou@0QVxz6HJ~>{r^!T6xVWx{$s&1pWZ~jcxZc@qob*=2q*XdQcVZ*Yi zTORkNt{2(cdXVp5-upaHz;?8MELB~Yg;EnT*uJOyrl})-VUK`Q7DvfVr3d_WQ+GqR zi2K`zCENRhNWn^%*N-w$ zbJx3XpF`CbF4RL)DC>UBt|6`hh6V==KlQ49-B_{j?0_ab;1vAcnG=?1*2v2jy!c+X zS2bmxUKTI7+m)zEnr7Kkul1>4ZFH)`&a{mZ?z{E);6l5wuHIO}YL3q{)y(4Q7oD>D zo&=Q(8ndc>8>cM9wQZ38t@`g1^id#GB$OfKVA4($;JC)b@w*SqS${I4nRk( z$X*HbPYGAiib%?eDO(zcs%jX%d5Y-nOXrI62}38Is6!L5wW?!F{qjR3X=gj5iFuA* zp=e}JPk3+__>2L0y{;5+PX6@WQ$0&Vv3X2xd|H617h{w+Hvs0v;qHSyyV~ABWryVw z*xHe6tDm2^B|Y-dskq+hB?|LRi```-ms-k;A4<3wbZVjlzRykh`fcGnt2=zl&8w^U zh!->-y2G|BNtdfe%5QEwHB-S6u+v8h7aTxDvtb`SF84xa4~x_}Bb z>j_@Zi#1&0CR1nbq!ugpcfYUy4wuU7hK99BUC8_Ln$nw;-}0gR==T^Yvn6i#xz#M+ zCvjWD%clif^>a7360EB{*Tu!`+g)DXId_mcmVR08cBH%vw07;|$_5RZ?U)x};=C{V zA*)~)2H5B;Bfo_nOTS@Xc#p04!1v_6AJ!t$$|992;lKMt~hIDf7$7kXtKNnmuVFe0Rc2=RAaOsX<+_-=WasnHDsgmPa1c zfzGzmXckhb`(N!loIn`3ebDBGRn4Mg*@c@GMhtOW+|pbwan}%&-KLu7y?2$egf_Qv zvUZ3KJQQQgFQ}lZ>&Ewp2pqa*3~^+PLU99@^-~z{!{^Qwk39Xb$C4S|z-#`%uD{&I z=lRHd(&2Vv@oPxqaUC;$fzv%?v&~GE4t@PQ+tl!Di%ABF?YLGA3qw| z==t0}7!Q3m6jR^rH{UChNq(}g<*bcILF`c-^0&FVa=#OgbQDeGjnsBs@bHK_Y*l&7 ztXlB!2HzeaWOjX~T-=H@HRPX>&~GX1-hESmG3pjiv=RYUdc3Oi+wUZLpfq2b!JUN0 zhXoaH=iD&rr1xIT+3pU8iNb1|cHDyeMi0&>-YqqYD`oq1FX*<8V&_!gM*ALv9(H5P zC-XuhGAv~g0d~sO7f(TRYXGU`!FV;ahIY?to+-f9A1AuHEj|#DLkh8pAK%PRbLo zn0LYw(<3P|Pdo{?x-ulsfh(`Dtwr~|ON z%0-8oFtHxe0zhHo=`z^QAPGdE__d$00=QW4$a6%tKgv)TJRFA1q|Yk zpGq_8aEeFpFn}VXZguP@>M#3jh6o-B0F+&!Apq6aSxm71(a730!UW{TiAI2Y<-~^tFw& J@=sg{`!DzkQ1t)+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/birch.png b/src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/birch.png new file mode 100644 index 0000000000000000000000000000000000000000..c713d4358016742dab77d5e45b2858accfc8fee4 GIT binary patch literal 7107 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�poTpi_QI3;5Pefn|3Lq1bWo%VM< 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 KE_-R9 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 K=aEgoxjzB0<=hGY delta 2668 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 diff --git a/src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/spruce.png b/src/main/resources/assets/unicopia/textures/entity/air_balloon/basket/spruce.png new file mode 100644 index 0000000000000000000000000000000000000000..fc07e72abfc3fa4b7f03a2193cca437a65025d04 GIT binary patch literal 7034 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/item/acacia_basket.png b/src/main/resources/assets/unicopia/textures/item/acacia_basket.png new file mode 100644 index 0000000000000000000000000000000000000000..f3ddfeb57e1319519d086e81eecef6d5f0288b2a GIT binary patch literal 6877 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/item/cherry_basket.png b/src/main/resources/assets/unicopia/textures/item/cherry_basket.png new file mode 100644 index 0000000000000000000000000000000000000000..539b917316f0755744e28ce5d8fec078eda80b8a GIT binary patch literal 6853 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 jKX97;{E_+f&$8lfz5BGMKoTTU-%kua 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/item/mangrove_basket.png b/src/main/resources/assets/unicopia/textures/item/mangrove_basket.png new file mode 100644 index 0000000000000000000000000000000000000000..7150a6905d2f97d5aae4025162cb63c87abebd1b GIT binary patch literal 6858 zcmeHLdt4J&7M_rVgqH|}3Mv|ckDw08%;a67yn=)lOMn9E`m2*<0#Qg}5+vAK0jtGm zRqC6yEv9OfTHkHOYU=}9t8LeJty&*wTdnoASQp*>!JbI~aknpb+y3R`cW2I=d(L;y z_uV_0+|0=yGdd)&Zy2wYb}!@=gkwE>#>W#3pI zf_)eo*ZYzCA>N3t>u7COHXl#G#0i81^2Ioz5-U^~!N)KaCRK@*Fg~OHK}7(B1R(8* z51X#BixXXF7bn{8;*OrW4@s)!uQc;{wty!CY#M-LGN_vM_6I(@K`L_KSD=x z1XFl;RqZNnT*{WckvT_h4I=dR>VUu}`b0(d9Xw>HFn*XsDw8Xes?;=1`sfU8W^UfI z`2~ez#~F;2si@dI$>A)UTJEZtHuI%fvtO>6<9>C~;w4L$EniXRd2{uewQsFk->`Mt z_IKZVe@Elaefyi5KmO#vrw5N7JAUHim#4lueX-@z^ns9>!wFV*cUDIu1D{LV#Csc`3E4w(JdvBXVv< z>g`7YpBN;$IQTYA&CBe!5v%^6m~|6-!0R*;%w)jiF~g8i$h~&Au-@-+>((ID>~RnO z9Pzk?zojvo*LmD`Duo_5($((P2|c?GE8zTIbO=xPG#4U}rJ(RH7`?uA3pXU)hMe7D zY@RNOZUc^Kcm;Kw2n{cPf2_wHUlj??@FN-?;}?vxM>LT&(Z_X~Nt`7*P2?#)@L--U z_PASTO5dVip2 z%*VF!5R91}qv2(q!{b^8` z!wfET)+e^Og&Q~1mC{WOOJP%@322PtHqsP^fs#R>hKVK7X|g|sj9T6m7zh-PXXLwu zYgu=6n%ET(k-b0xb#I_&p=S#n4c>)4JwIoM{$&2oMgJN8(2lQ=>DG7qz$@V;b82d~ zHZ_%Rvs+E(5(+_FE2r10GxjI-Z+IH{J=V z+de2hVSe@Gy?YllH_V*7ZDX&E)%-R_%l9p-uLuUWi{iJ}+`h15;LRKA8|N4)Zy%Iw z6ETW+QpOxDw(Pk`<|eM7y7#`QS67UEW6^3!;wN9KUwC2n+}05{9W&93TSURPv}SURonDw!{n zw3u6#H(XsTy8M@XrFF{5hLDquLuZgX>NkyWy!Ndyr?4q}P)+vXB=)m~HOCqj=>@6( z)P{D{Tv~Qu&BC|+(&w{}*C$W?*M%9kJ{Z4EA-y_e)}o}2xurAaF{&oif4%+sO~V<> z8%TT6h0L4xC!-VZF1lkXm>a`jp4rn}R*-wQ@=(mgw)F}9w#MBv2Q~|Cy_kM}F~{Fp zb-3=#_@aStg(fZCnRy=Jyu8OXXX}^hb1^?$zkZ&0t^GyhN!-4$En;mkf`pDV=M_2& zvz}HNtfdL0(W<8sT%|VeTQG5y%SIX|Q%=5~Dl%Ktf}0t@)PYwlPV`Iy%PfN)PiEC)20%M%FD|W%83N4y-0*9l}eEq z7vVSx5vZfW;v`+D#SuqC_%PBahrw>PIn7oJpT;Eh)-tDBAb@^;SAC_ntgLQ$i=$Ho z&_m=RZ6Yi|EGjJ(^~`WMHB$kkv!I{MaO73kC{YgOu$I{klx8YramMw8FdDk^ZDsZn zFCC*nM3qpb5bA(Yv4@7Ff7^Cv&=M4xOKsjP5c{D>r`hyCtcPl&d%Sdd76R$rxDQ2l zarXv8R92QM&1xv4%hRT*1@!nTqt#$Gs=THY!{oRWSD-SI5~C75sX!G{ibN$Qla#PCzt_;&=W?J5|^WTg#;js5&|VDOpjuiQYw=YG9!VJJs_U3 zn_*RwB|WR6p^N}!G#ZS!OeRN3vBH2#lqNl@*DJ*+fh#Bi%96`WGB1?Tph~yeOG%hc zb17LwiENf4ZwD>7Dmh!L7T^iu2cGN_(rJPOwcu&9rOfr9BhOq)4>s&$C)f)PnB)O?P(| zJWfW^Nv4rb3P8JeJb7I^p5bClCH56S!(~~GW>dwlMbi%tKM~?#$}`Lk7{9{n@;yWdlvIi( zs92$pq7s}WP^Afzptu1x2QrLMnh2jr-RKUh$yrX?spKNi5wwEk>D>$Rh2DvZf4G+N zVv3#x5DZ2@F+2}bsw6U%SlTI==#Qs}%cM9?nk1-EjwxV?%8jT(Oi59Kk|_x}X4K0G z#luDaUlfTvOsoQyV)>s(QK8opVi`f8CcVLgN=T^~)svVU#ibZ2H^@v9Oy*mgzt1cJ zMejx*!ycxXD5AglyVh-@=)YFBFQCV(0%qUmgI5r|(L~*^w9aJ#_5P7Z=M(iu4#DR? z9^{eqeJs~wxgJS@M+$ztx*p5*ND4es@Z;6>yU7*!U{g$4;J0i!Yw-L+Od-&Dci6qHe?!MG4!4ef z;aEJfuwd6m&!^10J$~0_iRP^d3p1aINn&qnU9>QNho{AMGb*ln_JOu0R_gxfbE&WI zZ?5Pw8J#u!8uILp-DNxW5%}q*sF@A=Cb44Wkq>vp9dc}Z^7Zsf?B}05DbE-jJKKG> zuRbF?q~@|KgcUk=>6;CALXMwWwxySFg2wukZPw6j0iT;hk+tpZBbzGyHEFJ01u3`M z@U6ScR_=Od;o8HN^T#Gh6{DWl+ouKJ9F|k{#fgZMeFqH8+z`3*>szx&B_2Ka{bvgX fTv508`!TrX*8A7yUF;Y^|68Hej7i&=GO_yKfE&6p)ovAU-fD5fQCMi3OD|Af~V& zLW5Ni1y^Jc6;u@K3yFeg0pIw-N7bqs-&U*-wC#ygXZ+&W51sbInZ5V!IsfzfpS?55 z8mvTGEMP>I44ulbDajR!WlRJ?5d?Yn91{^0!;|=mMZTC6K_nsx79f%bh%ug66d+av zh-4+VGZ{7wNsPrz^5q|tu#)+|1^Mqc=d7=xsV7CIDw-Oh{g^Y-n!s5xgQj{qLf@ML zXT6Z7e(OA5MhUBVG$lm-K`^(XL?maW1+)sSTAYnmji}Cgqo(j!>3vGCPRJRMyrDdD52D;g>`j1WW42iD92p9e z;ncwTX;cm@oxg(`E?9}NMG0JFrLc!-y&Y4S@pW zT`Yo*Q#ISbw$=KFgZz6ozw}tI1Rpvv{?qXKa6^YbFCrW#W0#3!4JO@<*BZxe-YJg{ zY2k+%b`((ZbKdCs&>B~@LA0lbQzjJ*_btjvHJdA1YnK!>)H&DX@Lt&5xO=0@;x+WU zm8iNUy-m+~l=-Or%C}hu6Lhr~O^B*fBH2_`++Oc!j>~lk@$BU1uYOf7tiG;jdU*Y2 z@09Z7jPq|4USrKkS>$+LwCKvVJXv0{zt7sIU+PO&3|;!7JpE8*-+n>!rYv~5Z2mD# z(22r<7dry=rSU?;_RFnXX4SNuX%XXH!fO@t6Rz)XP1t%ap?BTurPp&BcXSxk8F zvuoH2u^f}ir2d%5Uv4ru=^ZiEyPqD@V<*9T+lEh_xeQaJ^JIa<-%ldZOqcp3$;5IH zmnHegMbHb=`71D)I7ur5@eb#4?-%nq->_`^Sc*xLX@G=u>eJuhS=Spmf-uHMgomi) z?GH|O`nF6%k31ohFQtrp!z)y65`e|SV&SpOS$`+oZ9|Ec78_LxxSVK)AT9Xbgc_6UbN4_qVBUgxuYW* zyYIvgH>S)udoNkOz>~Oq*RD!(b9lOd-5puD{OhuS(5h9&>^n~S41Lk9pDthBrB9su zL(73drD@APZ`XfPu>TCs%1>xi<_e+&y6zBxcwJn^VM1U2jCn(7Hq1V>ZJEZR@?Mhm zTluN&+_bPEu6_1uPS0vo#)hB~wcUQVW-rxlZ|>T4qB%HdS%H0Qtcg`Z*V-+<*0#eZ xhu6}`R{Mk)?!>?BQLec+KWJg)^A~f@Vx*vH(xuz;9N=#T5`jmD*M&~Y`3t8{GQML>rnmy@p4;lo&d$zk|Ja@VYiqxR6ghbX1f3W@X+%ldXhikeH~vMAtvy}%YO0v z!1Ev|(kH(I=OyOfLa74dI7R9jmY67Vl|l|R8y^0v4xz1(7Tu{L(GxuqK⪼IIqW( zBE1WIdBnPO9)Tm_IBzXOLy^j4ibQS96uDy2K0q<nJxJ&P!nKI38~Pvs$#=ndDq9j9c@IjR67|s&M~wu&drU$% zvqJBj<>3vmN$Gv4xmkchA<(R!ZvrMbP(pwWb16!dcfVq*Ja~{^LqO+uqg4IoQc%RI zJ9+^|vCe`&;>Ns=^SXKgU)%`f^lq=(FrfJ_+tEF3T0p}!@o*$O2IGyiq%kOzM<^;m zEcF-%Scf))E4=eP;2E&D${s+IqtH6MYMcI~g(!G%J0lM$Az+^+#vsStWCO(bya4Z0yHM)yl%TObk~fL_UQBx+*T z!ez0_0Q<=GKAf;lL&H%wI{@gS-ry0qCJGYEgut@M3$B3+J6J^Hu=e+QIb2v85H(eH z@CYS{iMs5iW$&aPPbN{Sqwp{Qk?C6~^`&9^S(xb`L!y6TuK+Q*r)VB@VJ}Q!{+pBz z1y)BIprVOI0*PNYrq!X1)efg4weyUypc9;?(&D~0cK~?2QrL$6!C=6nTwzDwLKjWx zx0vp?fc}RV^gptEIfw|HyN?=j*ls%4?%%IHhWqGuI%IyUvb`?$8CJKbiZ~7HG(TJz z?f294m!D~qam==?Fy|I~@s)G(Hje%ttGK1aK$RGucQ#!UTq+#N`?7tyEtkbUAiZ(I z%&(tF@;_8ua>V)>KO1-OoZ848ky=VaqGP_=p}l+Yo4>T9SD&q%9ve^E;cTPR3NlMw z(hp@9W~W;+whb+}w@@b*)j7o<&I%unG_MeMW{PE^Cw-qEiTlp!ll|QhtQBs3Wb+zD ztSb>%`)qG%ug{q8m6R_orA&|daUV<_N;BVZUBfI<>*qOgGSG%nAL`6xlRD~p-kpnK zqtCszdyo1QRBU7{)|9)2J$IkgJs#+Zk3ARNAiFk~dfR=Oa>EkMz(+GPH(P6#=f8Am z>%aZ?7@Na$!j7Qplz9V2aKWjwzK$J>87zfIi@@8{oaMuM-NlLx-4`sVpzssGOey63=z4zw!9=V`=GlDG0-jb-!QpZ}HI7Lih zP^tt=m!@I9{un0n4Uh(7zOr;_kZ*8sn#})$;DAk7n#9n~HF0G@fgwSG!I(4<3pQ+B zkjarIzWx9iCKm|*DYWqI9T^s`!v^-e!I%Tz8n*GJI_@H|?cnUo_urNzJpw8>`YPE>7Gv)UFAOZVbwPvD`y)xhLbF=uZ zM_20lgu5ONZFCg2tt`lU5TXsUADg*X_eXhH_RKT0F{xJ)Z~Cn2K6*@4#f|hHc1`<1 z`evF!xBCS#XPZ4Y{ORg~k@4}vtsi5}g_1~zzH_U*J>%@|oX@e{?7Of|tGclDuQL~I zwmi}|j%?M29)F_1lLM@e_whG6um)0&I#nfIPR+AZB2Om&=60(2{*5ueVs^@hStggV zPh?{bW2&BIajE9@wJP4*r$s|dz0x#UJ(2Yek)_N2v=lR9Mj9N@oQ{8&@-L45r`CeJ_*>Q>RT8QCo|G2Rol~w`r)FZ7UgWYIM z-;#WD@baJY=PvUcJ>P7q4=AwDv=?9f_=At)jiu_7)!*4Zstl)cX07in9P0SOFVDfT uXwbd;*=%h8u;|Lp;wgnpmN*;s!WOIfI>~kL*jMo91c}DuR+}R>=>Gw}#dK!? diff --git a/src/main/resources/assets/unicopia/textures/item/palm_basket.png b/src/main/resources/assets/unicopia/textures/item/palm_basket.png new file mode 100644 index 0000000000000000000000000000000000000000..49383f90ea51d7cd667c9a7bdc530a886914c028 GIT binary patch literal 6798 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/data/unicopia/recipes/acacia_basket.json b/src/main/resources/data/unicopia/recipes/acacia_basket.json new file mode 100644 index 00000000..203d1a53 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/acacia_basket.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "basket", + "key": { + "#": { + "item": "minecraft:acacia_planks" + } + }, + "pattern": [ + "# #", + "# #", + "###" + ], + "result": { + "count": 1, + "item": "unicopia:acacia_basket" + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/bamboo_basket.json b/src/main/resources/data/unicopia/recipes/bamboo_basket.json new file mode 100644 index 00000000..fc72bf8b --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/bamboo_basket.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "basket", + "key": { + "#": { + "item": "minecraft:bamboo_planks" + } + }, + "pattern": [ + "# #", + "# #", + "###" + ], + "result": { + "count": 1, + "item": "unicopia:bamboo_basket" + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/birch_basket.json b/src/main/resources/data/unicopia/recipes/birch_basket.json new file mode 100644 index 00000000..66fe4b39 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/birch_basket.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "basket", + "key": { + "#": { + "item": "minecraft:birch_planks" + } + }, + "pattern": [ + "# #", + "# #", + "###" + ], + "result": { + "count": 1, + "item": "unicopia:birch_basket" + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/cherry_basket.json b/src/main/resources/data/unicopia/recipes/cherry_basket.json new file mode 100644 index 00000000..3175b4bc --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/cherry_basket.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "basket", + "key": { + "#": { + "item": "minecraft:cherry_planks" + } + }, + "pattern": [ + "# #", + "# #", + "###" + ], + "result": { + "count": 1, + "item": "unicopia:cherry_basket" + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/dark_oak_basket.json b/src/main/resources/data/unicopia/recipes/dark_oak_basket.json new file mode 100644 index 00000000..e5fd7bdf --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/dark_oak_basket.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "basket", + "key": { + "#": { + "item": "minecraft:dark_oak_planks" + } + }, + "pattern": [ + "# #", + "# #", + "###" + ], + "result": { + "count": 1, + "item": "unicopia:dark_oak_basket" + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/jungle_basket.json b/src/main/resources/data/unicopia/recipes/jungle_basket.json new file mode 100644 index 00000000..6b4dc584 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/jungle_basket.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "basket", + "key": { + "#": { + "item": "minecraft:jungle_planks" + } + }, + "pattern": [ + "# #", + "# #", + "###" + ], + "result": { + "count": 1, + "item": "unicopia:jungle_basket" + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/mangrove_basket.json b/src/main/resources/data/unicopia/recipes/mangrove_basket.json new file mode 100644 index 00000000..37ed8383 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/mangrove_basket.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "basket", + "key": { + "#": { + "item": "minecraft:mangrove_planks" + } + }, + "pattern": [ + "# #", + "# #", + "###" + ], + "result": { + "count": 1, + "item": "unicopia:mangrove_basket" + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/spruce_basket.json b/src/main/resources/data/unicopia/recipes/spruce_basket.json new file mode 100644 index 00000000..99fb9ea4 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/spruce_basket.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "basket", + "key": { + "#": { + "item": "minecraft:spruce_planks" + } + }, + "pattern": [ + "# #", + "# #", + "###" + ], + "result": { + "count": 1, + "item": "unicopia:spruce_basket" + } +} \ No newline at end of file