Bro IDK a whole bunch of shit
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "acesbs:item/bricked_up"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:recipes/root",
|
||||||
|
"criteria": {
|
||||||
|
"has_stable_endtropy": {
|
||||||
|
"conditions": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"items": "acesbs:stable_endtropy"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:inventory_changed"
|
||||||
|
},
|
||||||
|
"has_the_recipe": {
|
||||||
|
"conditions": {
|
||||||
|
"recipe": "acesbs:bricked_up"
|
||||||
|
},
|
||||||
|
"trigger": "minecraft:recipe_unlocked"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"has_the_recipe",
|
||||||
|
"has_stable_endtropy"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rewards": {
|
||||||
|
"recipes": [
|
||||||
|
"acesbs:bricked_up"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shapeless",
|
||||||
|
"category": "misc",
|
||||||
|
"ingredients": [
|
||||||
|
{
|
||||||
|
"item": "minecraft:brick"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "acesbs:stable_endtropy"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"count": 1,
|
||||||
|
"id": "acesbs:bricked_up"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"values": [
|
||||||
|
"acesbs:kaupen_bow"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -2,6 +2,8 @@ package com.acethewildfire.acesbs;
|
|||||||
|
|
||||||
import com.acethewildfire.acesbs.block.ModBlocks;
|
import com.acethewildfire.acesbs.block.ModBlocks;
|
||||||
import com.acethewildfire.acesbs.entity.ModEntities;
|
import com.acethewildfire.acesbs.entity.ModEntities;
|
||||||
|
import com.acethewildfire.acesbs.entity.client.CombustibleLemonModel;
|
||||||
|
import com.acethewildfire.acesbs.entity.client.CombustibleLemonRenderer;
|
||||||
import com.acethewildfire.acesbs.entity.client.FrenModel;
|
import com.acethewildfire.acesbs.entity.client.FrenModel;
|
||||||
import com.acethewildfire.acesbs.entity.client.FrenRenderer;
|
import com.acethewildfire.acesbs.entity.client.FrenRenderer;
|
||||||
import com.acethewildfire.acesbs.util.ModModelPredicates;
|
import com.acethewildfire.acesbs.util.ModModelPredicates;
|
||||||
@@ -26,5 +28,8 @@ public class AcesBSClient implements ClientModInitializer {
|
|||||||
|
|
||||||
EntityModelLayerRegistry.registerModelLayer(FrenModel.FREN, FrenModel::getTexturedModelData);
|
EntityModelLayerRegistry.registerModelLayer(FrenModel.FREN, FrenModel::getTexturedModelData);
|
||||||
EntityRendererRegistry.register(ModEntities.FREN, FrenRenderer::new);
|
EntityRendererRegistry.register(ModEntities.FREN, FrenRenderer::new);
|
||||||
|
|
||||||
|
EntityModelLayerRegistry.registerModelLayer(CombustibleLemonModel.C_LEMON, CombustibleLemonModel::getTexturedModelData);
|
||||||
|
EntityRendererRegistry.register(ModEntities.C_LEMON, CombustibleLemonRenderer::new);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ O Prisma Steel (Stable Entropy + Iron) (Needs recipe)
|
|||||||
Food
|
Food
|
||||||
- Aquarium Gravel (CT:Prismarine shards + crystals)
|
- Aquarium Gravel (CT:Prismarine shards + crystals)
|
||||||
- Bricked Up (Brick + End-tropy)
|
- Bricked Up (Brick + End-tropy)
|
||||||
|
- Holy SFX + slow levitate up
|
||||||
|
- Stomach grumble
|
||||||
|
- Fart reverb and shoot into sky
|
||||||
- Infernal Beef (Mob/Ashes + Cooked Beef)
|
- Infernal Beef (Mob/Ashes + Cooked Beef)
|
||||||
- Hyper Stimulants (Hyper Sugar)
|
- Hyper Stimulants (Hyper Sugar)
|
||||||
- Narcan (Stimulants + Entropic Eviscerator)
|
- Narcan (Stimulants + Entropic Eviscerator)
|
||||||
@@ -31,6 +34,7 @@ Items
|
|||||||
Armor
|
Armor
|
||||||
X Beserker Pauldron (Special: Skeleton hurt sound)
|
X Beserker Pauldron (Special: Skeleton hurt sound)
|
||||||
- Wildfire Boots (Special: Rainbow ember)
|
- Wildfire Boots (Special: Rainbow ember)
|
||||||
|
- Fireskip Boots (Infernal Fire effect on water)
|
||||||
- Sov's Plate Carrier
|
- Sov's Plate Carrier
|
||||||
- (Headlamp Armors using Everburn Gold)
|
- (Headlamp Armors using Everburn Gold)
|
||||||
- Eternal Armor (Binding and mending)
|
- Eternal Armor (Binding and mending)
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package com.acethewildfire.acesbs.block.custom;
|
||||||
|
|
||||||
|
import com.acethewildfire.acesbs.entity.custom.CombustibleLemonEntity;
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.sound.SoundCategory;
|
||||||
|
import net.minecraft.sound.SoundEvents;
|
||||||
|
import net.minecraft.stat.Stats;
|
||||||
|
import net.minecraft.util.Hand;
|
||||||
|
import net.minecraft.util.TypedActionResult;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class CombustibleLemon extends Item {
|
||||||
|
public CombustibleLemon(Settings settings) {
|
||||||
|
super(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TypedActionResult<ItemStack> use(World world, PlayerEntity user, Hand hand) {
|
||||||
|
ItemStack itemStack = user.getStackInHand(hand);
|
||||||
|
world.playSound(null, user.getX(), user.getY(), user.getZ(), SoundEvents.ENTITY_SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5f, 0.4f / (world.getRandom().nextFloat() * 0.4f + 0.8f));
|
||||||
|
if (!world.isClient) {
|
||||||
|
CombustibleLemonEntity c_lemon = new CombustibleLemonEntity(world, user);
|
||||||
|
c_lemon.setVelocity(user, user.getPitch(), user.getYaw(), 0.0f, 1.5f, 0f);
|
||||||
|
world.spawnEntity(c_lemon);
|
||||||
|
}
|
||||||
|
|
||||||
|
user.incrementStat(Stats.USED.getOrCreateStat(this));
|
||||||
|
if (!user.getAbilities().creativeMode) {
|
||||||
|
itemStack.decrement(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return TypedActionResult.success(itemStack, world.isClient());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -31,6 +31,8 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
|
|||||||
.add(Items.LAPIS_LAZULI)
|
.add(Items.LAPIS_LAZULI)
|
||||||
.add(Items.EMERALD)
|
.add(Items.EMERALD)
|
||||||
.add(Items.DIAMOND);
|
.add(Items.DIAMOND);
|
||||||
|
getOrCreateTagBuilder(ItemTags.BOW_ENCHANTABLE)
|
||||||
|
.add(ModItems.KAUPEN_BOW);
|
||||||
getOrCreateTagBuilder(ItemTags.SWORDS)
|
getOrCreateTagBuilder(ItemTags.SWORDS)
|
||||||
.add(ModItems.PRISMA_STEEL_SWORD);
|
.add(ModItems.PRISMA_STEEL_SWORD);
|
||||||
getOrCreateTagBuilder(ItemTags.AXES)
|
getOrCreateTagBuilder(ItemTags.AXES)
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ public class ModModelProvider extends FabricModelProvider {
|
|||||||
itemModelGenerator.register(ModItems.COOKED_LEMON, Models.GENERATED);
|
itemModelGenerator.register(ModItems.COOKED_LEMON, Models.GENERATED);
|
||||||
itemModelGenerator.register(ModItems.LEMON, Models.GENERATED);
|
itemModelGenerator.register(ModItems.LEMON, Models.GENERATED);
|
||||||
itemModelGenerator.register(ModItems.INFERNAL_BEEF, Models.GENERATED);
|
itemModelGenerator.register(ModItems.INFERNAL_BEEF, Models.GENERATED);
|
||||||
|
itemModelGenerator.register(ModItems.BRICKED_UP, Models.GENERATED);
|
||||||
itemModelGenerator.register(ModItems.TOBACCO, Models.GENERATED);
|
itemModelGenerator.register(ModItems.TOBACCO, Models.GENERATED);
|
||||||
itemModelGenerator.register(ModItems.RAW_ENTROPY, Models.GENERATED);
|
itemModelGenerator.register(ModItems.RAW_ENTROPY, Models.GENERATED);
|
||||||
itemModelGenerator.register(ModItems.STABLE_ENTROPY, Models.GENERATED);
|
itemModelGenerator.register(ModItems.STABLE_ENTROPY, Models.GENERATED);
|
||||||
|
|||||||
@@ -54,6 +54,12 @@ public class ModRecipeProvider extends FabricRecipeProvider {
|
|||||||
.criterion(hasItem(ModItems.LEMON), conditionsFromItem(ModItems.LEMON))
|
.criterion(hasItem(ModItems.LEMON), conditionsFromItem(ModItems.LEMON))
|
||||||
.offerTo(recipeExporter);
|
.offerTo(recipeExporter);
|
||||||
|
|
||||||
|
ShapelessRecipeJsonBuilder.create(RecipeCategory.FOOD, ModItems.BRICKED_UP, 1)
|
||||||
|
.input(Items.BRICK, 1)
|
||||||
|
.input(ModItems.STABLE_ENDTROPY, 1)
|
||||||
|
.criterion(hasItem(ModItems.STABLE_ENDTROPY), conditionsFromItem(ModItems.STABLE_ENDTROPY))
|
||||||
|
.offerTo(recipeExporter);
|
||||||
|
|
||||||
ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, ModBlocks.CRYSTAL_ENTROPY, 8)
|
ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, ModBlocks.CRYSTAL_ENTROPY, 8)
|
||||||
.pattern("###")
|
.pattern("###")
|
||||||
.pattern("#S#")
|
.pattern("#S#")
|
||||||
|
|||||||
@@ -0,0 +1,75 @@
|
|||||||
|
package com.acethewildfire.acesbs.effect;
|
||||||
|
|
||||||
|
import com.acethewildfire.acesbs.AcesBS;
|
||||||
|
import com.acethewildfire.acesbs.sounds.ModSounds;
|
||||||
|
import net.minecraft.entity.Flutterer;
|
||||||
|
import net.minecraft.entity.LivingEntity;
|
||||||
|
import net.minecraft.entity.effect.StatusEffect;
|
||||||
|
import net.minecraft.entity.effect.StatusEffectCategory;
|
||||||
|
import net.minecraft.entity.effect.StatusEffects;
|
||||||
|
import net.minecraft.sound.SoundCategory;
|
||||||
|
import net.minecraft.sound.SoundEvents;
|
||||||
|
import net.minecraft.util.math.Vec3d;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class BrickedUpEffect extends StatusEffect {
|
||||||
|
protected BrickedUpEffect(StatusEffectCategory category, int color) {
|
||||||
|
super(category, color);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean applyUpdateEffect(LivingEntity entity, int amplifier) {
|
||||||
|
|
||||||
|
int durationLeft = entity.getStatusEffect(ModEffects.BRICKED_UP).getDuration();
|
||||||
|
int idealLen = 160;
|
||||||
|
World world = entity.getWorld();
|
||||||
|
|
||||||
|
if(durationLeft > idealLen - 1){
|
||||||
|
world.playSound(entity, entity.getBlockPos(), ModSounds.BRICKED_UP, SoundCategory.PLAYERS, 2f, 1f);
|
||||||
|
}
|
||||||
|
else if(durationLeft > idealLen - 120){
|
||||||
|
float p = entity.getWorld().getBlockState(entity.getBlockPos()).getBlock().getSlipperiness();
|
||||||
|
float f = entity.isOnGround() ? p * 0.91F : 0.91F;
|
||||||
|
Vec3d vec3d6 = entity.applyMovementInput(entity.getMovement(), p);
|
||||||
|
double q = vec3d6.y;
|
||||||
|
q += (0.05 * 7.75 - vec3d6.y) * 0.2;
|
||||||
|
|
||||||
|
entity.setVelocity(vec3d6.x * (double)f, this instanceof Flutterer ? q * (double)f : q * 0.9800000190734863, vec3d6.z * (double)f);
|
||||||
|
}
|
||||||
|
// else if (durationLeft < idealLen - 80 && durationLeft > idealLen - 120) {
|
||||||
|
//
|
||||||
|
// // Freeze in place
|
||||||
|
// entity.setVelocity(0, 0, 0);
|
||||||
|
//
|
||||||
|
//// float p = entity.getWorld().getBlockState(entity.getBlockPos()).getBlock().getSlipperiness();
|
||||||
|
//// float f = entity.isOnGround() ? p * 0.91F : 0.91F;
|
||||||
|
//// Vec3d vec3d6 = entity.applyMovementInput(entity.getMovement(), p);
|
||||||
|
//// double q = vec3d6.y;
|
||||||
|
//// q += (0.05 * 7 - vec3d6.y) * 0.2;
|
||||||
|
////
|
||||||
|
//// entity.setVelocity(vec3d6.x * (double)f, this instanceof Flutterer ? q * (double)f : q * 0.9800000190734863, vec3d6.z * (double)f);
|
||||||
|
// }
|
||||||
|
// else if (durationLeft < idealLen - 120 && durationLeft > idealLen - 122) {
|
||||||
|
// world.playSound(entity, entity.getBlockPos(), ModSounds.FART, SoundCategory.PLAYERS, 5f, 1f);
|
||||||
|
// }
|
||||||
|
else {
|
||||||
|
float p = entity.getWorld().getBlockState(entity.getBlockPos()).getBlock().getSlipperiness();
|
||||||
|
float f = entity.isOnGround() ? p * 0.91F : 0.91F;
|
||||||
|
Vec3d vec3d6 = entity.applyMovementInput(entity.getMovement(), p);
|
||||||
|
double q = vec3d6.y;
|
||||||
|
q += (0.05 * 250 - vec3d6.y) * 0.2;
|
||||||
|
|
||||||
|
entity.setVelocity(vec3d6.x * (double)f, this instanceof Flutterer ? q * (double)f : q * 0.9800000190734863, vec3d6.z * (double)f);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canApplyUpdateEffect(int duration, int amplifier) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,8 +1,12 @@
|
|||||||
package com.acethewildfire.acesbs.effect;
|
package com.acethewildfire.acesbs.effect;
|
||||||
|
|
||||||
|
import com.acethewildfire.acesbs.AcesBS;
|
||||||
import net.minecraft.entity.LivingEntity;
|
import net.minecraft.entity.LivingEntity;
|
||||||
import net.minecraft.entity.effect.StatusEffect;
|
import net.minecraft.entity.effect.StatusEffect;
|
||||||
import net.minecraft.entity.effect.StatusEffectCategory;
|
import net.minecraft.entity.effect.StatusEffectCategory;
|
||||||
|
import net.minecraft.particle.ParticleTypes;
|
||||||
|
import net.minecraft.server.world.ServerWorld;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
@@ -16,12 +20,28 @@ public class InfernalFireEffect extends StatusEffect {
|
|||||||
@Override
|
@Override
|
||||||
public boolean applyUpdateEffect(LivingEntity entity, int amplifier) {
|
public boolean applyUpdateEffect(LivingEntity entity, int amplifier) {
|
||||||
entity.setOnFireFor(1);
|
entity.setOnFireFor(1);
|
||||||
|
World world = entity.getWorld();
|
||||||
|
|
||||||
if (entity.isTouchingWater()){
|
if (entity.isTouchingWater()){
|
||||||
double randomVelocityX = r.nextDouble(-0.5, 0.5);
|
// double randomVelocityX = r.nextDouble(-0.5, 0.5);
|
||||||
double randomVelocityY = r.nextDouble(0.5, 1.0);
|
// double randomVelocityY = r.nextDouble(0.5, 1.0);
|
||||||
double randomVelocityZ = r.nextDouble(-0.5, 0.5);
|
// double randomVelocityZ = r.nextDouble(-0.5, 0.5);
|
||||||
entity.addVelocity(randomVelocityX, randomVelocityY, randomVelocityZ);
|
|
||||||
|
if (!world.isClient) {
|
||||||
|
((ServerWorld) world).spawnParticles(
|
||||||
|
ParticleTypes.CAMPFIRE_COSY_SMOKE,
|
||||||
|
entity.getX(),
|
||||||
|
entity.getY() + 0.5f,
|
||||||
|
entity.getZ(),
|
||||||
|
5, // count
|
||||||
|
0.02, // dx
|
||||||
|
0.2, // dy
|
||||||
|
0.02, // dz
|
||||||
|
0.01 // speed
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
entity.addVelocity(0, 0.75f, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -20,7 +20,12 @@ public class ModEffects {
|
|||||||
public static final RegistryEntry<StatusEffect> INFERNAL_FIRE = registerStatusEffect("infernal_fire",
|
public static final RegistryEntry<StatusEffect> INFERNAL_FIRE = registerStatusEffect("infernal_fire",
|
||||||
new InfernalFireEffect(StatusEffectCategory.HARMFUL, 0x963830)
|
new InfernalFireEffect(StatusEffectCategory.HARMFUL, 0x963830)
|
||||||
.addAttributeModifier(EntityAttributes.GENERIC_MOVEMENT_SPEED, Identifier.of(AcesBS.MOD_ID, "infernal_fire"),
|
.addAttributeModifier(EntityAttributes.GENERIC_MOVEMENT_SPEED, Identifier.of(AcesBS.MOD_ID, "infernal_fire"),
|
||||||
1F, EntityAttributeModifier.Operation.ADD_MULTIPLIED_TOTAL));
|
1F, EntityAttributeModifier.Operation.ADD_MULTIPLIED_TOTAL)
|
||||||
|
.addAttributeModifier(EntityAttributes.GENERIC_JUMP_STRENGTH, Identifier.of(AcesBS.MOD_ID, "infernal_fire"),
|
||||||
|
0.25F, EntityAttributeModifier.Operation.ADD_MULTIPLIED_TOTAL));
|
||||||
|
|
||||||
|
public static final RegistryEntry<StatusEffect> BRICKED_UP = registerStatusEffect("bricked_up",
|
||||||
|
new BrickedUpEffect(StatusEffectCategory.NEUTRAL, 0x8e4631));
|
||||||
|
|
||||||
private static RegistryEntry<StatusEffect> registerStatusEffect (String name, StatusEffect effect){
|
private static RegistryEntry<StatusEffect> registerStatusEffect (String name, StatusEffect effect){
|
||||||
return Registry.registerReference(Registries.STATUS_EFFECT, Identifier.of(AcesBS.MOD_ID, name), effect);
|
return Registry.registerReference(Registries.STATUS_EFFECT, Identifier.of(AcesBS.MOD_ID, name), effect);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.acethewildfire.acesbs.entity;
|
package com.acethewildfire.acesbs.entity;
|
||||||
|
|
||||||
import com.acethewildfire.acesbs.AcesBS;
|
import com.acethewildfire.acesbs.AcesBS;
|
||||||
|
import com.acethewildfire.acesbs.entity.custom.CombustibleLemonEntity;
|
||||||
import com.acethewildfire.acesbs.entity.custom.FrenEntity;
|
import com.acethewildfire.acesbs.entity.custom.FrenEntity;
|
||||||
import net.minecraft.entity.EntityType;
|
import net.minecraft.entity.EntityType;
|
||||||
import net.minecraft.entity.SpawnGroup;
|
import net.minecraft.entity.SpawnGroup;
|
||||||
@@ -15,6 +16,11 @@ public class ModEntities {
|
|||||||
EntityType.Builder.create(FrenEntity::new, SpawnGroup.MONSTER)
|
EntityType.Builder.create(FrenEntity::new, SpawnGroup.MONSTER)
|
||||||
.dimensions(0.6F, 1.7F).build());
|
.dimensions(0.6F, 1.7F).build());
|
||||||
|
|
||||||
|
public static final EntityType<CombustibleLemonEntity> C_LEMON = Registry.register(Registries.ENTITY_TYPE,
|
||||||
|
Identifier.of(AcesBS.MOD_ID, "combustible_lemon"),
|
||||||
|
EntityType.Builder.<CombustibleLemonEntity>create(CombustibleLemonEntity::new, SpawnGroup.MISC)
|
||||||
|
.dimensions(0.5F, 0.5F).build());
|
||||||
|
|
||||||
|
|
||||||
public static void registerModEntities() {
|
public static void registerModEntities() {
|
||||||
AcesBS.LOGGER.info("Registering Mod Entities for " + AcesBS.MOD_ID);
|
AcesBS.LOGGER.info("Registering Mod Entities for " + AcesBS.MOD_ID);
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package com.acethewildfire.acesbs.entity.client;
|
||||||
|
|
||||||
|
import com.acethewildfire.acesbs.AcesBS;
|
||||||
|
import com.acethewildfire.acesbs.entity.custom.CombustibleLemonEntity;
|
||||||
|
import net.minecraft.client.model.*;
|
||||||
|
import net.minecraft.client.render.VertexConsumer;
|
||||||
|
import net.minecraft.client.render.entity.model.EntityModel;
|
||||||
|
import net.minecraft.client.render.entity.model.EntityModelLayer;
|
||||||
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
|
public class CombustibleLemonModel extends EntityModel<CombustibleLemonEntity> {
|
||||||
|
public static final EntityModelLayer C_LEMON = new EntityModelLayer(Identifier.of(AcesBS.MOD_ID, "combustible_lemon"), "main");
|
||||||
|
private final ModelPart combustible_lemon;
|
||||||
|
|
||||||
|
public CombustibleLemonModel(ModelPart root) {
|
||||||
|
this.combustible_lemon = root.getChild("combustible_lemon");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TexturedModelData getTexturedModelData() {
|
||||||
|
ModelData modelData = new ModelData();
|
||||||
|
ModelPartData modelPartData = modelData.getRoot();
|
||||||
|
ModelPartData combustible_lemon = modelPartData.addChild("combustible_lemon", ModelPartBuilder.create().uv(64, 32).cuboid(-6.0F, -10.0F, -6.0F, 12.0F, 20.0F, 12.0F, new Dilation(-6.0F))
|
||||||
|
.uv(0, 32).cuboid(-8.0F, -9.0F, -8.0F, 16.0F, 18.0F, 16.0F, new Dilation(-6.0F))
|
||||||
|
.uv(64, 64).cuboid(-5.0F, -10.0F, -5.0F, 10.0F, 20.0F, 10.0F, new Dilation(-6.0F))
|
||||||
|
.uv(0, 66).cuboid(-3.0F, -11.0F, -3.0F, 6.0F, 2.0F, 6.0F, new Dilation(-3.0F))
|
||||||
|
.uv(24, 66).cuboid(3.0F, -9.0F, -6.0F, 4.0F, 3.0F, 4.0F, new Dilation(-2.0F))
|
||||||
|
.uv(40, 66).cuboid(4.0F, -11.0F, -6.0F, 3.0F, 4.0F, 3.0F, new Dilation(-2.0F)), ModelTransform.pivot(0.0F, 9.0F, 0.0F));
|
||||||
|
return TexturedModelData.of(modelData, 128, 128);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void setAngles(CombustibleLemonEntity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
|
||||||
|
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, int color) {
|
||||||
|
combustible_lemon.render(matrices, vertexConsumer, light, overlay, color);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package com.acethewildfire.acesbs.entity.client;
|
||||||
|
|
||||||
|
import com.acethewildfire.acesbs.AcesBS;
|
||||||
|
import com.acethewildfire.acesbs.entity.custom.CombustibleLemonEntity;
|
||||||
|
import net.minecraft.client.render.OverlayTexture;
|
||||||
|
import net.minecraft.client.render.VertexConsumer;
|
||||||
|
import net.minecraft.client.render.VertexConsumerProvider;
|
||||||
|
import net.minecraft.client.render.entity.EntityRenderer;
|
||||||
|
import net.minecraft.client.render.entity.EntityRendererFactory;
|
||||||
|
import net.minecraft.client.render.item.ItemRenderer;
|
||||||
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
import net.minecraft.util.math.RotationAxis;
|
||||||
|
|
||||||
|
public class CombustibleLemonRenderer extends EntityRenderer<CombustibleLemonEntity> {
|
||||||
|
protected CombustibleLemonModel model;
|
||||||
|
|
||||||
|
public CombustibleLemonRenderer(EntityRendererFactory.Context ctx) {
|
||||||
|
super(ctx);
|
||||||
|
this.model = new CombustibleLemonModel(ctx.getPart(CombustibleLemonModel.C_LEMON));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(CombustibleLemonEntity entity, float yaw, float tickDelta, MatrixStack matrices,
|
||||||
|
VertexConsumerProvider vertexConsumers, int light) {
|
||||||
|
matrices.push();
|
||||||
|
|
||||||
|
if(!entity.isGrounded()) {
|
||||||
|
matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(MathHelper.lerp(tickDelta, entity.prevYaw, entity.getYaw())));
|
||||||
|
matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(entity.getRenderingRotation() * 5f));
|
||||||
|
matrices.translate(0, -1.0f, 0);
|
||||||
|
} else {
|
||||||
|
// matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(entity.groundedOffset.getY()));
|
||||||
|
// matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(entity.groundedOffset.getX()));
|
||||||
|
matrices.translate(0, -1.0f, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
VertexConsumer vertexconsumer = ItemRenderer.getDirectItemGlintConsumer(vertexConsumers,
|
||||||
|
this.model.getLayer(Identifier.of(AcesBS.MOD_ID, "textures/entity/combustible_lemon/combustible_lemon.png")), false, false);
|
||||||
|
this.model.render(matrices, vertexconsumer, light, OverlayTexture.DEFAULT_UV);
|
||||||
|
|
||||||
|
matrices.pop();
|
||||||
|
super.render(entity, yaw, tickDelta, matrices, vertexConsumers, light);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Identifier getTexture(CombustibleLemonEntity entity) {
|
||||||
|
return Identifier.of(AcesBS.MOD_ID, "textures/entity/combustible_lemon/combustible_lemon.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
package com.acethewildfire.acesbs.entity.custom;
|
||||||
|
|
||||||
|
import com.acethewildfire.acesbs.entity.ModEntities;
|
||||||
|
import com.acethewildfire.acesbs.item.ModItems;
|
||||||
|
import net.minecraft.block.AbstractFireBlock;
|
||||||
|
import net.minecraft.client.util.math.Vector2f;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityType;
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.entity.projectile.PersistentProjectileEntity;
|
||||||
|
import net.minecraft.entity.projectile.ProjectileEntity;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.hit.BlockHitResult;
|
||||||
|
import net.minecraft.util.hit.EntityHitResult;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.util.math.Direction;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class CombustibleLemonEntity extends PersistentProjectileEntity {
|
||||||
|
private float rotation;
|
||||||
|
// public Vector2f groundedOffset;
|
||||||
|
|
||||||
|
public CombustibleLemonEntity(EntityType<? extends PersistentProjectileEntity> entityType, World world) {
|
||||||
|
super(entityType, world);
|
||||||
|
}
|
||||||
|
|
||||||
|
public CombustibleLemonEntity(World world, PlayerEntity player) {
|
||||||
|
super(ModEntities.C_LEMON, player, world, new ItemStack(ModItems.COMBUSTIBLE_LEMON), null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ItemStack getDefaultItemStack() {
|
||||||
|
return new ItemStack(ModItems.COMBUSTIBLE_LEMON);
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getRenderingRotation() {
|
||||||
|
rotation += 0.5f;
|
||||||
|
if(rotation >= 360) {
|
||||||
|
rotation = 0;
|
||||||
|
}
|
||||||
|
return rotation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isGrounded() {
|
||||||
|
return inGround;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onEntityHit(EntityHitResult entityHitResult) {
|
||||||
|
super.onEntityHit(entityHitResult);
|
||||||
|
Entity entity = entityHitResult.getEntity();
|
||||||
|
// entity.damage(this.getDamageSources().thrown(this, this.getOwner()), 4);
|
||||||
|
entity.setOnFireFor(20);
|
||||||
|
|
||||||
|
if (!this.getWorld().isClient()) {
|
||||||
|
this.getWorld().sendEntityStatus(this, (byte)3);
|
||||||
|
this.discard();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onBlockHit(BlockHitResult result) {
|
||||||
|
super.onBlockHit(result);
|
||||||
|
|
||||||
|
BlockPos blockPos = result.getBlockPos().offset(result.getSide());
|
||||||
|
if (this.getWorld().isAir(blockPos)) {
|
||||||
|
this.getWorld().setBlockState(blockPos, AbstractFireBlock.getState(this.getWorld(), blockPos));
|
||||||
|
}
|
||||||
|
|
||||||
|
this.discard();
|
||||||
|
|
||||||
|
// if(result.getSide() == Direction.SOUTH) {
|
||||||
|
// groundedOffset = new Vector2f(215f,180f);
|
||||||
|
// }
|
||||||
|
// if(result.getSide() == Direction.NORTH) {
|
||||||
|
// groundedOffset = new Vector2f(215f, 0f);
|
||||||
|
// }
|
||||||
|
// if(result.getSide() == Direction.EAST) {
|
||||||
|
// groundedOffset = new Vector2f(215f,-90f);
|
||||||
|
// }
|
||||||
|
// if(result.getSide() == Direction.WEST) {
|
||||||
|
// groundedOffset = new Vector2f(215f,90f);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if(result.getSide() == Direction.DOWN) {
|
||||||
|
// groundedOffset = new Vector2f(115f,180f);
|
||||||
|
// }
|
||||||
|
// if(result.getSide() == Direction.UP) {
|
||||||
|
// groundedOffset = new Vector2f(285f,180f);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -23,4 +23,10 @@ public class ModFoodComponent {
|
|||||||
.statusEffect(new StatusEffectInstance(ModEffects.INFERNAL_FIRE, 200), 0.2f)
|
.statusEffect(new StatusEffectInstance(ModEffects.INFERNAL_FIRE, 200), 0.2f)
|
||||||
.alwaysEdible()
|
.alwaysEdible()
|
||||||
.build();
|
.build();
|
||||||
|
public static final FoodComponent BRICKED_UP = new FoodComponent.Builder()
|
||||||
|
.nutrition(0)
|
||||||
|
.saturationModifier(0f)
|
||||||
|
.statusEffect(new StatusEffectInstance(ModEffects.BRICKED_UP, 160), 1f)
|
||||||
|
.alwaysEdible()
|
||||||
|
.build();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ public class ModItemGroups {
|
|||||||
entries.add(ModItems.LEMON);
|
entries.add(ModItems.LEMON);
|
||||||
entries.add(ModItems.COOKED_LEMON);
|
entries.add(ModItems.COOKED_LEMON);
|
||||||
entries.add(ModItems.INFERNAL_BEEF);
|
entries.add(ModItems.INFERNAL_BEEF);
|
||||||
|
entries.add(ModItems.BRICKED_UP);
|
||||||
entries.add(ModItems.ORACLE_LEMON);
|
entries.add(ModItems.ORACLE_LEMON);
|
||||||
entries.add(ModItems.GREEN_BRICKS);
|
entries.add(ModItems.GREEN_BRICKS);
|
||||||
entries.add(ModItems.CRAB_RAVE_MUSIC_DISC);
|
entries.add(ModItems.CRAB_RAVE_MUSIC_DISC);
|
||||||
@@ -89,6 +90,7 @@ public class ModItemGroups {
|
|||||||
entries.add(ModItems.PRISMA_STEEL_BOOTS);
|
entries.add(ModItems.PRISMA_STEEL_BOOTS);
|
||||||
entries.add(ModItems.PRISMA_SMITHING_TEMPLATE);
|
entries.add(ModItems.PRISMA_SMITHING_TEMPLATE);
|
||||||
entries.add(ModItems.KAUPEN_BOW);
|
entries.add(ModItems.KAUPEN_BOW);
|
||||||
|
entries.add(ModItems.COMBUSTIBLE_LEMON);
|
||||||
entries.add(ModItems.BERSERKERS_PAULDRON);
|
entries.add(ModItems.BERSERKERS_PAULDRON);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package com.acethewildfire.acesbs.item;
|
|||||||
|
|
||||||
import com.acethewildfire.acesbs.AcesBS;
|
import com.acethewildfire.acesbs.AcesBS;
|
||||||
import com.acethewildfire.acesbs.block.ModBlocks;
|
import com.acethewildfire.acesbs.block.ModBlocks;
|
||||||
import com.acethewildfire.acesbs.effect.ModEffects;
|
import com.acethewildfire.acesbs.block.custom.CombustibleLemon;
|
||||||
import com.acethewildfire.acesbs.entity.ModEntities;
|
import com.acethewildfire.acesbs.entity.ModEntities;
|
||||||
import com.acethewildfire.acesbs.item.custom.HammerItem;
|
import com.acethewildfire.acesbs.item.custom.HammerItem;
|
||||||
import com.acethewildfire.acesbs.item.custom.ModArmorItem;
|
import com.acethewildfire.acesbs.item.custom.ModArmorItem;
|
||||||
@@ -13,17 +13,12 @@ import com.acethewildfire.acesbs.sounds.ModSounds;
|
|||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.component.DataComponentTypes;
|
import net.minecraft.component.DataComponentTypes;
|
||||||
import net.minecraft.component.type.*;
|
import net.minecraft.component.type.*;
|
||||||
import net.minecraft.entity.attribute.EntityAttribute;
|
|
||||||
import net.minecraft.entity.attribute.EntityAttributeModifier;
|
import net.minecraft.entity.attribute.EntityAttributeModifier;
|
||||||
import net.minecraft.entity.attribute.EntityAttributes;
|
import net.minecraft.entity.attribute.EntityAttributes;
|
||||||
import net.minecraft.entity.effect.StatusEffectInstance;
|
|
||||||
import net.minecraft.entity.effect.StatusEffects;
|
|
||||||
import net.minecraft.item.*;
|
import net.minecraft.item.*;
|
||||||
import net.minecraft.item.tooltip.TooltipType;
|
import net.minecraft.item.tooltip.TooltipType;
|
||||||
import net.minecraft.potion.Potion;
|
|
||||||
import net.minecraft.registry.Registries;
|
import net.minecraft.registry.Registries;
|
||||||
import net.minecraft.registry.Registry;
|
import net.minecraft.registry.Registry;
|
||||||
import net.minecraft.registry.entry.RegistryEntry;
|
|
||||||
import net.minecraft.resource.featuretoggle.FeatureFlags;
|
import net.minecraft.resource.featuretoggle.FeatureFlags;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Formatting;
|
import net.minecraft.util.Formatting;
|
||||||
@@ -50,6 +45,26 @@ public class ModItems {
|
|||||||
)
|
)
|
||||||
))
|
))
|
||||||
));
|
));
|
||||||
|
public static final Item BRICKED_UP = registerItem("bricked_up",
|
||||||
|
new Item(new Item.Settings()
|
||||||
|
.food(ModFoodComponent.BRICKED_UP)
|
||||||
|
.component(DataComponentTypes.LORE, new LoreComponent(
|
||||||
|
List.of(
|
||||||
|
Text.literal("Straight to God").formatted(Formatting.GOLD, Formatting.ITALIC)
|
||||||
|
)
|
||||||
|
))
|
||||||
|
));
|
||||||
|
|
||||||
|
public static final Item COMBUSTIBLE_LEMON = registerItem("combustible_lemon",
|
||||||
|
new CombustibleLemon(new Item.Settings().maxCount(16)){
|
||||||
|
@Override
|
||||||
|
public void appendTooltip(ItemStack stack, TooltipContext context, List<Text> tooltip, TooltipType type) {
|
||||||
|
tooltip.add(Text.translatable("tooltip.acesbs.combustible_lemon1"));
|
||||||
|
tooltip.add(Text.translatable("tooltip.acesbs.combustible_lemon2"));
|
||||||
|
super.appendTooltip(stack, context, tooltip, type);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
public static final Item LEMON = registerItem("lemon", new Item(new Item.Settings().food(ModFoodComponent.LEMON)));
|
public static final Item LEMON = registerItem("lemon", new Item(new Item.Settings().food(ModFoodComponent.LEMON)));
|
||||||
public static final Item COOKED_LEMON = registerItem("cooked_lemon", new Item(new Item.Settings().food(ModFoodComponent.COOKED_LEMON)));
|
public static final Item COOKED_LEMON = registerItem("cooked_lemon", new Item(new Item.Settings().food(ModFoodComponent.COOKED_LEMON)));
|
||||||
public static final Item GREEN_BRICKS = registerItem("green_bricks", new Item(new Item.Settings()) {
|
public static final Item GREEN_BRICKS = registerItem("green_bricks", new Item(new Item.Settings()) {
|
||||||
|
|||||||
@@ -13,6 +13,12 @@ import net.minecraft.util.Identifier;
|
|||||||
|
|
||||||
public class ModSounds {
|
public class ModSounds {
|
||||||
public static final SoundEvent LIZARD = registerSoundEvent("lizard");
|
public static final SoundEvent LIZARD = registerSoundEvent("lizard");
|
||||||
|
public static final SoundEvent FART = registerSoundEvent("fart");
|
||||||
|
public static final SoundEvent GRUMBLE = registerSoundEvent("grumble");
|
||||||
|
public static final SoundEvent HOLY = registerSoundEvent("holy");
|
||||||
|
public static final SoundEvent HOLY_S = registerSoundEvent("holy_s");
|
||||||
|
public static final SoundEvent BRICKED_UP = registerSoundEvent("bricked_up");
|
||||||
|
|
||||||
|
|
||||||
// public static final BlockSoundGroup LIZARD_SOUNDS = new BlockSoundGroup(1f, 1f, SoundEvents.BLOCK_WOOD_BREAK, SoundEvents.BLOCK_WOOD_STEP, SoundEvents.BLOCK_WOOD_PLACE, SoundEvents.BLOCK_WOOD_HIT, SoundEvents.BLOCK_WOOD_FALL)
|
// public static final BlockSoundGroup LIZARD_SOUNDS = new BlockSoundGroup(1f, 1f, SoundEvents.BLOCK_WOOD_BREAK, SoundEvents.BLOCK_WOOD_STEP, SoundEvents.BLOCK_WOOD_PLACE, SoundEvents.BLOCK_WOOD_HIT, SoundEvents.BLOCK_WOOD_FALL)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"item.acesbs.oracle_lemon.effect.lemon": "Oracle of Lemon",
|
"item.acesbs.oracle_lemon.effect.lemon": "Oracle of Lemon",
|
||||||
|
"item.acesbs.combustible_lemon": "Combustible Lemon",
|
||||||
"item.acesbs.raw_entropy": "Raw Entropy",
|
"item.acesbs.raw_entropy": "Raw Entropy",
|
||||||
"item.acesbs.stable_entropy": "Stabilized Entropy",
|
"item.acesbs.stable_entropy": "Stabilized Entropy",
|
||||||
"item.acesbs.infernal_ashes": "Infernal Ashes",
|
"item.acesbs.infernal_ashes": "Infernal Ashes",
|
||||||
@@ -7,6 +8,7 @@
|
|||||||
"item.acesbs.stable_endtropy": "Stabilized Endtropy",
|
"item.acesbs.stable_endtropy": "Stabilized Endtropy",
|
||||||
"item.acesbs.lemon": "Odd Lemon",
|
"item.acesbs.lemon": "Odd Lemon",
|
||||||
"item.acesbs.infernal_beef": "Infernal Beef",
|
"item.acesbs.infernal_beef": "Infernal Beef",
|
||||||
|
"item.acesbs.bricked_up": "Bricked Up",
|
||||||
"item.acesbs.cooked_lemon": "Cooked Odd Lemon",
|
"item.acesbs.cooked_lemon": "Cooked Odd Lemon",
|
||||||
"item.acesbs.green_bricks": "Green Bricks",
|
"item.acesbs.green_bricks": "Green Bricks",
|
||||||
"item.acesbs.wand": "Entropy Wand",
|
"item.acesbs.wand": "Entropy Wand",
|
||||||
@@ -16,8 +18,6 @@
|
|||||||
"item.minecraft.lingering_potion.effect.blindness": "Lingering Potion of Blindness",
|
"item.minecraft.lingering_potion.effect.blindness": "Lingering Potion of Blindness",
|
||||||
"item.minecraft.tipped_arrow.effect.blindness": "Arrow of Blindness",
|
"item.minecraft.tipped_arrow.effect.blindness": "Arrow of Blindness",
|
||||||
|
|
||||||
"effect.acesbs.infernal_fire": "Infernal Fire",
|
|
||||||
"effect.acesbs.lemon": "Puckered",
|
|
||||||
"item.minecraft.potion.effect.lemon": "Potion of Puckered",
|
"item.minecraft.potion.effect.lemon": "Potion of Puckered",
|
||||||
"item.minecraft.splash_potion.effect.lemon": "Splash Potion of Puckered",
|
"item.minecraft.splash_potion.effect.lemon": "Splash Potion of Puckered",
|
||||||
"item.minecraft.lingering_potion.effect.lemon": "Lingering Potion of Puckered",
|
"item.minecraft.lingering_potion.effect.lemon": "Lingering Potion of Puckered",
|
||||||
@@ -148,10 +148,22 @@
|
|||||||
"tooltip.acesbs.berserkers_pauldron_thanks": "§7§oProgrammed with <3 for Tennocraft§r",
|
"tooltip.acesbs.berserkers_pauldron_thanks": "§7§oProgrammed with <3 for Tennocraft§r",
|
||||||
"tooltip.acesbs.thanks_sov": "§7§oTextures by Sovaeris§r",
|
"tooltip.acesbs.thanks_sov": "§7§oTextures by Sovaeris§r",
|
||||||
|
|
||||||
|
"tooltip.acesbs.combustible_lemon1": "§7§oDo you know who I am?§r",
|
||||||
|
"tooltip.acesbs.combustible_lemon2": "§7§oI’m the man who’s gonna burn your house down!§r",
|
||||||
|
|
||||||
"sounds.acesbs.lizard": "Lizard!",
|
"sounds.acesbs.lizard": "Lizard!",
|
||||||
|
"sounds.acesbs.holy": "Angelic Music",
|
||||||
|
"sounds.acesbs.fart": "Loud Echoing Fart",
|
||||||
|
"sounds.acesbs.grumble": "Stomach Grumbling",
|
||||||
"sounds.acesbs.crab_rave": "Jukebox plays Crab Rave",
|
"sounds.acesbs.crab_rave": "Jukebox plays Crab Rave",
|
||||||
|
|
||||||
"enchantment.acesbs.lightning_strike": "Lightning Strike",
|
"enchantment.acesbs.lightning_strike": "Lightning Strike",
|
||||||
|
|
||||||
"entity.acesbs.fren": "Fren"
|
"entity.acesbs.fren": "Fren",
|
||||||
|
"entity.acesbs.combustible_lemon": "Combustible Lemon",
|
||||||
|
|
||||||
|
"effect.acesbs.infernal_fire": "Infernal Fire",
|
||||||
|
"effect.acesbs.lemon": "Puckered",
|
||||||
|
"effect.acesbs.bricked_up": "Bricked Up"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,156 @@
|
|||||||
|
{
|
||||||
|
"format_version": "1.21.6",
|
||||||
|
"credit": "Made with Blockbench",
|
||||||
|
"texture_size": [128, 128],
|
||||||
|
"textures": {
|
||||||
|
"0": "acesbs:item/combustible_lemon"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [2, 5, 2],
|
||||||
|
"to": [14, 25, 14],
|
||||||
|
"rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]},
|
||||||
|
"faces": {
|
||||||
|
"north": {"uv": [9.5, 5.5, 11, 8], "texture": "#0"},
|
||||||
|
"east": {"uv": [8, 5.5, 9.5, 8], "texture": "#0"},
|
||||||
|
"south": {"uv": [12.5, 5.5, 14, 8], "texture": "#0"},
|
||||||
|
"west": {"uv": [11, 5.5, 12.5, 8], "texture": "#0"},
|
||||||
|
"up": {"uv": [11, 5.5, 9.5, 4], "texture": "#0"},
|
||||||
|
"down": {"uv": [12.5, 4, 11, 5.5], "texture": "#0"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": [0, 6, 0],
|
||||||
|
"to": [16, 24, 16],
|
||||||
|
"rotation": {"angle": 0, "axis": "y", "origin": [8, 6, 8]},
|
||||||
|
"faces": {
|
||||||
|
"north": {"uv": [2, 6, 4, 8.25], "texture": "#0"},
|
||||||
|
"east": {"uv": [0, 6, 2, 8.25], "texture": "#0"},
|
||||||
|
"south": {"uv": [6, 6, 8, 8.25], "texture": "#0"},
|
||||||
|
"west": {"uv": [4, 6, 6, 8.25], "texture": "#0"},
|
||||||
|
"up": {"uv": [4, 6, 2, 4], "texture": "#0"},
|
||||||
|
"down": {"uv": [6, 4, 4, 6], "texture": "#0"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": [-2, 9, -2],
|
||||||
|
"to": [18, 21, 18],
|
||||||
|
"rotation": {"angle": 0, "axis": "y", "origin": [6, 9, 6]},
|
||||||
|
"faces": {
|
||||||
|
"north": {"uv": [2.5, 2.5, 5, 4], "texture": "#0"},
|
||||||
|
"east": {"uv": [0, 2.5, 2.5, 4], "texture": "#0"},
|
||||||
|
"south": {"uv": [7.5, 2.5, 10, 4], "texture": "#0"},
|
||||||
|
"west": {"uv": [5, 2.5, 7.5, 4], "texture": "#0"},
|
||||||
|
"up": {"uv": [5, 2.5, 2.5, 0], "texture": "#0"},
|
||||||
|
"down": {"uv": [7.5, 0, 5, 2.5], "texture": "#0"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": [3, 2, 3],
|
||||||
|
"to": [13, 27, 13],
|
||||||
|
"rotation": {"angle": 0, "axis": "y", "origin": [11, 2, 11]},
|
||||||
|
"faces": {
|
||||||
|
"north": {"uv": [9.25, 9.25, 10.5, 12.375], "texture": "#0"},
|
||||||
|
"east": {"uv": [8, 9.25, 9.25, 12.375], "texture": "#0"},
|
||||||
|
"south": {"uv": [11.75, 9.25, 13, 12.375], "texture": "#0"},
|
||||||
|
"west": {"uv": [10.5, 9.25, 11.75, 12.375], "texture": "#0"},
|
||||||
|
"up": {"uv": [10.5, 9.25, 9.25, 8], "texture": "#0"},
|
||||||
|
"down": {"uv": [11.75, 8, 10.5, 9.25], "texture": "#0"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": [5, 27, 5],
|
||||||
|
"to": [11, 29, 11],
|
||||||
|
"rotation": {"angle": 0, "axis": "y", "origin": [13, 27, 13]},
|
||||||
|
"faces": {
|
||||||
|
"north": {"uv": [0.75, 9, 1.5, 9.25], "texture": "#0"},
|
||||||
|
"east": {"uv": [0, 9, 0.75, 9.25], "texture": "#0"},
|
||||||
|
"south": {"uv": [2.25, 9, 3, 9.25], "texture": "#0"},
|
||||||
|
"west": {"uv": [1.5, 9, 2.25, 9.25], "texture": "#0"},
|
||||||
|
"up": {"uv": [1.5, 9, 0.75, 8.25], "texture": "#0"},
|
||||||
|
"down": {"uv": [2.25, 8.25, 1.5, 9], "texture": "#0"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": [-1, 24, -1],
|
||||||
|
"to": [3, 27, 3],
|
||||||
|
"rotation": {"angle": 0, "axis": "y", "origin": [7, 24, 7]},
|
||||||
|
"faces": {
|
||||||
|
"north": {"uv": [3.5, 8.75, 4, 9.125], "texture": "#0"},
|
||||||
|
"east": {"uv": [3, 8.75, 3.5, 9.125], "texture": "#0"},
|
||||||
|
"south": {"uv": [4.5, 8.75, 5, 9.125], "texture": "#0"},
|
||||||
|
"west": {"uv": [4, 8.75, 4.5, 9.125], "texture": "#0"},
|
||||||
|
"up": {"uv": [4, 8.75, 3.5, 8.25], "texture": "#0"},
|
||||||
|
"down": {"uv": [4.5, 8.25, 4, 8.75], "texture": "#0"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": [-1, 27, -1],
|
||||||
|
"to": [2, 31, 2],
|
||||||
|
"rotation": {"angle": 0, "axis": "y", "origin": [7, 27, 7]},
|
||||||
|
"faces": {
|
||||||
|
"north": {"uv": [5.375, 8.625, 5.75, 9.125], "texture": "#0"},
|
||||||
|
"east": {"uv": [5, 8.625, 5.375, 9.125], "texture": "#0"},
|
||||||
|
"south": {"uv": [6.125, 8.625, 6.5, 9.125], "texture": "#0"},
|
||||||
|
"west": {"uv": [5.75, 8.625, 6.125, 9.125], "texture": "#0"},
|
||||||
|
"up": {"uv": [5.75, 8.625, 5.375, 8.25], "texture": "#0"},
|
||||||
|
"down": {"uv": [6.125, 8.25, 5.75, 8.625], "texture": "#0"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"display": {
|
||||||
|
"thirdperson_righthand": {
|
||||||
|
"translation": [0.25, -0.25, 1],
|
||||||
|
"scale": [0.25, 0.25, 0.25]
|
||||||
|
},
|
||||||
|
"thirdperson_lefthand": {
|
||||||
|
"translation": [0.25, -0.5, 1],
|
||||||
|
"scale": [0.25, 0.25, 0.25]
|
||||||
|
},
|
||||||
|
"firstperson_righthand": {
|
||||||
|
"rotation": [0, -90, 25],
|
||||||
|
"translation": [1.13, 3.2, 1.13],
|
||||||
|
"scale": [0.25, 0.25, 0.25]
|
||||||
|
},
|
||||||
|
"firstperson_lefthand": {
|
||||||
|
"rotation": [0, -90, 25],
|
||||||
|
"translation": [1.13, 3.2, 1.13],
|
||||||
|
"scale": [0.25, 0.25, 0.25]
|
||||||
|
},
|
||||||
|
"ground": {
|
||||||
|
"rotation": [-180, 0, 0],
|
||||||
|
"translation": [0, 0.75, 0.5],
|
||||||
|
"scale": [0.19, 0.19, 0.19]
|
||||||
|
},
|
||||||
|
"gui": {
|
||||||
|
"rotation": [0, -113, 0],
|
||||||
|
"translation": [0, -2.25, 0],
|
||||||
|
"scale": [0.33, 0.33, 0.33]
|
||||||
|
},
|
||||||
|
"head": {
|
||||||
|
"translation": [0, -4.5, 0.75]
|
||||||
|
},
|
||||||
|
"fixed": {
|
||||||
|
"translation": [0, -3, 2],
|
||||||
|
"scale": [0.5, 0.5, 0.5]
|
||||||
|
},
|
||||||
|
"on_shelf": {
|
||||||
|
"scale": [0.5, 0.5, 0.5]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"groups": [
|
||||||
|
{
|
||||||
|
"name": "c_lemon",
|
||||||
|
"origin": [8, 8, 8],
|
||||||
|
"color": 0,
|
||||||
|
"children": []
|
||||||
|
},
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
6
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -5,6 +5,36 @@
|
|||||||
"acesbs:lizard"
|
"acesbs:lizard"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"fart": {
|
||||||
|
"subtitle": "sounds.acesbs.fart",
|
||||||
|
"sounds": [
|
||||||
|
"acesbs:fart"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"grumble": {
|
||||||
|
"subtitle": "sounds.acesbs.grumble",
|
||||||
|
"sounds": [
|
||||||
|
"acesbs:grumble"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"holy_s": {
|
||||||
|
"subtitle": "sounds.acesbs.holy",
|
||||||
|
"sounds": [
|
||||||
|
"acesbs:holy_s"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"holy": {
|
||||||
|
"subtitle": "sounds.acesbs.holy",
|
||||||
|
"sounds": [
|
||||||
|
"acesbs:holy"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"bricked_up": {
|
||||||
|
"subtitle": "sounds.acesbs.holy",
|
||||||
|
"sounds": [
|
||||||
|
"acesbs:bricked_up"
|
||||||
|
]
|
||||||
|
},
|
||||||
"crab_rave": {
|
"crab_rave": {
|
||||||
"subtitle": "sounds.acesbs.crab_rave",
|
"subtitle": "sounds.acesbs.crab_rave",
|
||||||
"sounds": [
|
"sounds": [
|
||||||
|
|||||||
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 412 B |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 285 KiB |
|
After Width: | Height: | Size: 6.5 KiB |