the (wildly random, oh God) rebalancing

This commit is contained in:
Ellpeck 2019-01-28 23:45:47 +01:00
parent 8eec4c2316
commit 2329d597b9
9 changed files with 23 additions and 23 deletions

View file

@ -67,8 +67,8 @@ public class BlockAnimalGenerator extends BlockContainerImpl implements IVisuali
float amountMod = child ? 0.667F : 1; float amountMod = child ? 0.667F : 1;
int timeAlive = data.getInteger(NaturesAura.MOD_ID + ":time_alive"); int timeAlive = data.getInteger(NaturesAura.MOD_ID + ":time_alive");
int time = Math.min(MathHelper.floor((timeAlive - 15000) / 500F * timeMod), 200); int time = Math.min(MathHelper.floor((timeAlive - 15000) / 500F * timeMod), 300);
int amount = Math.min(MathHelper.floor((timeAlive - 8000) / 250F * amountMod), 100); int amount = Math.min(MathHelper.floor((timeAlive - 8000) / 250F * amountMod), 150);
if (time <= 0 || amount <= 0) if (time <= 0 || amount <= 0)
return false; return false;
gen.setGenerationValues(time, amount); gen.setGenerationValues(time, amount);

View file

@ -50,7 +50,7 @@ public class TileEntityFlowerGenerator extends TileEntityImpl implements ITickab
IBlockState state = this.world.getBlockState(pos); IBlockState state = this.world.getBlockState(pos);
MutableInt curr = this.consumedRecently.computeIfAbsent(state, s -> new MutableInt()); MutableInt curr = this.consumedRecently.computeIfAbsent(state, s -> new MutableInt());
int addAmount = 200; int addAmount = 250;
int toAdd = Math.max(0, addAmount - curr.getValue()); int toAdd = Math.max(0, addAmount - curr.getValue());
if (toAdd > 0) { if (toAdd > 0) {
if (NaturesAuraAPI.TYPE_OVERWORLD.isPresentInWorld(this.world)) { if (NaturesAuraAPI.TYPE_OVERWORLD.isPresentInWorld(this.world)) {

View file

@ -41,7 +41,7 @@ public class TileEntityFurnaceHeater extends TileEntityImpl implements ITickable
BlockPos spot = IAuraChunk.getHighestSpot(this.world, this.pos, 20, this.pos); BlockPos spot = IAuraChunk.getHighestSpot(this.world, this.pos, 20, this.pos);
IAuraChunk chunk = IAuraChunk.getAuraChunk(this.world, spot); IAuraChunk chunk = IAuraChunk.getAuraChunk(this.world, spot);
chunk.drainAura(spot, MathHelper.ceil((200 - time) / 4F)); chunk.drainAura(spot, MathHelper.ceil((200 - time) / 6F));
did = true; did = true;
if (this.world.getTotalWorldTime() % 15 == 0) { if (this.world.getTotalWorldTime() % 15 == 0) {

View file

@ -58,7 +58,7 @@ public class TileEntityHopperUpgrade extends TileEntityImpl implements ITickable
item.setDead(); item.setDead();
BlockPos spot = IAuraChunk.getHighestSpot(this.world, this.pos, 25, this.pos); BlockPos spot = IAuraChunk.getHighestSpot(this.world, this.pos, 25, this.pos);
IAuraChunk.getAuraChunk(this.world, spot).drainAura(spot, 10); IAuraChunk.getAuraChunk(this.world, spot).drainAura(spot, 5);
PacketHandler.sendToAllAround(this.world, this.pos, 32, PacketHandler.sendToAllAround(this.world, this.pos, 32,
new PacketParticles((float) item.posX, (float) item.posY, (float) item.posZ, 10)); new PacketParticles((float) item.posX, (float) item.posY, (float) item.posZ, 10));

View file

@ -20,7 +20,7 @@ public class TileEntityOakGenerator extends TileEntityImpl implements ITickable
while (!this.scheduledBigTrees.isEmpty()) { while (!this.scheduledBigTrees.isEmpty()) {
BlockPos pos = this.scheduledBigTrees.remove(); BlockPos pos = this.scheduledBigTrees.remove();
if (this.world.getBlockState(pos).getBlock() instanceof BlockLog) { if (this.world.getBlockState(pos).getBlock() instanceof BlockLog) {
int toAdd = 500; int toAdd = 1000;
while (toAdd > 0) { while (toAdd > 0) {
BlockPos spot = IAuraChunk.getLowestSpot(this.world, this.pos, 25, this.pos); BlockPos spot = IAuraChunk.getLowestSpot(this.world, this.pos, 25, this.pos);
toAdd -= IAuraChunk.getAuraChunk(this.world, spot).storeAura(spot, toAdd); toAdd -= IAuraChunk.getAuraChunk(this.world, spot).storeAura(spot, toAdd);

View file

@ -40,7 +40,7 @@ public class TileEntityPotionGenerator extends TileEntityImpl implements ITickab
continue; continue;
} }
int toAdd = ((effect.getAmplifier() * 6 + 1) * (effect.getDuration() / 30)); int toAdd = ((effect.getAmplifier() * 7 + 1) * (effect.getDuration() / 25));
while (toAdd > 0) { while (toAdd > 0) {
BlockPos spot = IAuraChunk.getLowestSpot(this.world, this.pos, 30, this.pos); BlockPos spot = IAuraChunk.getLowestSpot(this.world, this.pos, 30, this.pos);
toAdd -= IAuraChunk.getAuraChunk(this.world, spot).storeAura(spot, toAdd); toAdd -= IAuraChunk.getAuraChunk(this.world, spot).storeAura(spot, toAdd);

View file

@ -74,7 +74,7 @@ public class AnimalEffect implements IDrainSpotEffect {
world.spawnEntity(chicken); world.spawnEntity(chicken);
BlockPos closestSpot = IAuraChunk.getHighestSpot(world, item.getPosition(), 35, pos); BlockPos closestSpot = IAuraChunk.getHighestSpot(world, item.getPosition(), 35, pos);
IAuraChunk.getAuraChunk(world, closestSpot).drainAura(closestSpot, 150); IAuraChunk.getAuraChunk(world, closestSpot).drainAura(closestSpot, 20);
} }
} }
@ -100,7 +100,7 @@ public class AnimalEffect implements IDrainSpotEffect {
this.setInLove(second); this.setInLove(second);
BlockPos closestSpot = IAuraChunk.getHighestSpot(world, first.getPosition(), 35, pos); BlockPos closestSpot = IAuraChunk.getHighestSpot(world, first.getPosition(), 35, pos);
IAuraChunk.getAuraChunk(world, closestSpot).drainAura(closestSpot, 200); IAuraChunk.getAuraChunk(world, closestSpot).drainAura(closestSpot, 35);
} }
} }

View file

@ -51,7 +51,7 @@ public class PlantBoostEffect implements IDrainSpotEffect {
growable.grow(world, world.rand, plantPos, state); growable.grow(world, world.rand, plantPos, state);
BlockPos closestSpot = IAuraChunk.getHighestSpot(world, plantPos, 25, pos); BlockPos closestSpot = IAuraChunk.getHighestSpot(world, plantPos, 25, pos);
IAuraChunk.getAuraChunk(world, closestSpot).drainAura(closestSpot, 200); IAuraChunk.getAuraChunk(world, closestSpot).drainAura(closestSpot, 35);
PacketHandler.sendToAllAround(world, plantPos, 32, PacketHandler.sendToAllAround(world, plantPos, 32,
new PacketParticles(plantPos.getX(), plantPos.getY(), plantPos.getZ(), 6)); new PacketParticles(plantPos.getX(), plantPos.getY(), plantPos.getZ(), 6));

View file

@ -112,48 +112,48 @@ public final class ModRecipes {
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "infused_iron"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "infused_iron"),
Ingredient.fromItem(Items.IRON_INGOT), new ItemStack(ModItems.INFUSED_IRON), Ingredient.fromItem(Items.IRON_INGOT), new ItemStack(ModItems.INFUSED_IRON),
Ingredient.EMPTY, 300, 80).register(); Ingredient.EMPTY, 150, 80).register();
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "infused_iron_block"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "infused_iron_block"),
Helper.blockIng(Blocks.IRON_BLOCK), new ItemStack(ModBlocks.INFUSED_IRON), Helper.blockIng(Blocks.IRON_BLOCK), new ItemStack(ModBlocks.INFUSED_IRON),
Ingredient.EMPTY, 2700, 700).register(); Ingredient.EMPTY, 1350, 700).register();
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "infused_stone"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "infused_stone"),
Helper.blockIng(Blocks.STONE), new ItemStack(ModBlocks.INFUSED_STONE), Helper.blockIng(Blocks.STONE), new ItemStack(ModBlocks.INFUSED_STONE),
Ingredient.EMPTY, 150, 40).register(); Ingredient.EMPTY, 75, 40).register();
Ingredient conversion = Helper.blockIng(ModBlocks.CONVERSION_CATALYST); Ingredient conversion = Helper.blockIng(ModBlocks.CONVERSION_CATALYST);
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "breath"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "breath"),
new NBTIngredient(ItemAuraBottle.setType(new ItemStack(ModItems.AURA_BOTTLE), NaturesAuraAPI.TYPE_END)), new NBTIngredient(ItemAuraBottle.setType(new ItemStack(ModItems.AURA_BOTTLE), NaturesAuraAPI.TYPE_END)),
new ItemStack(Items.DRAGON_BREATH), new ItemStack(Items.DRAGON_BREATH),
conversion, 500, 80).register(); conversion, 200, 80).register();
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "leather"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "leather"),
Ingredient.fromItem(Items.ROTTEN_FLESH), new ItemStack(Items.LEATHER), Ingredient.fromItem(Items.ROTTEN_FLESH), new ItemStack(Items.LEATHER),
conversion, 400, 50).register(); conversion, 100, 50).register();
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "soul_sand"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "soul_sand"),
Helper.blockIng(Blocks.SAND), new ItemStack(Blocks.SOUL_SAND), Helper.blockIng(Blocks.SAND), new ItemStack(Blocks.SOUL_SAND),
conversion, 200, 100).register(); conversion, 50, 100).register();
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "nether_wart"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "nether_wart"),
Helper.blockIng(Blocks.RED_MUSHROOM), new ItemStack(Items.NETHER_WART), Helper.blockIng(Blocks.RED_MUSHROOM), new ItemStack(Items.NETHER_WART),
conversion, 600, 250).register(); conversion, 300, 250).register();
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "prismarine"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "prismarine"),
Ingredient.fromItem(Items.QUARTZ), new ItemStack(Items.PRISMARINE_SHARD), Ingredient.fromItem(Items.QUARTZ), new ItemStack(Items.PRISMARINE_SHARD),
conversion, 850, 200).register(); conversion, 550, 200).register();
Ingredient crushing = Helper.blockIng(ModBlocks.CRUSHING_CATALYST); Ingredient crushing = Helper.blockIng(ModBlocks.CRUSHING_CATALYST);
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "bone"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "bone"),
Ingredient.fromItem(Items.BONE), new ItemStack(Items.DYE, 6, 15), Ingredient.fromItem(Items.BONE), new ItemStack(Items.DYE, 6, 15),
crushing, 50, 40).register(); crushing, 30, 40).register();
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "sugar"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "sugar"),
Ingredient.fromItem(Items.REEDS), new ItemStack(Items.SUGAR, 3), Ingredient.fromItem(Items.REEDS), new ItemStack(Items.SUGAR, 3),
crushing, 50, 40).register(); crushing, 30, 40).register();
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "blaze"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "blaze"),
Ingredient.fromItem(Items.BLAZE_ROD), new ItemStack(Items.BLAZE_POWDER, 4), Ingredient.fromItem(Items.BLAZE_ROD), new ItemStack(Items.BLAZE_POWDER, 4),
crushing, 80, 60).register(); crushing, 50, 60).register();
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "glowstone"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "glowstone"),
Helper.blockIng(Blocks.GLOWSTONE), new ItemStack(Items.GLOWSTONE_DUST, 4), Helper.blockIng(Blocks.GLOWSTONE), new ItemStack(Items.GLOWSTONE_DUST, 4),
crushing, 50, 40).register(); crushing, 30, 40).register();
new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "sand"), new AltarRecipe(new ResourceLocation(NaturesAura.MOD_ID, "sand"),
Helper.blockIng(Blocks.COBBLESTONE), new ItemStack(Blocks.SAND), Helper.blockIng(Blocks.COBBLESTONE), new ItemStack(Blocks.SAND),
crushing, 50, 40).register(); crushing, 30, 40).register();
new OfferingRecipe(new ResourceLocation(NaturesAura.MOD_ID, "sky_ingot"), new OfferingRecipe(new ResourceLocation(NaturesAura.MOD_ID, "sky_ingot"),
new AmountIngredient(new ItemStack(ModItems.INFUSED_IRON, 3)), new AmountIngredient(new ItemStack(ModItems.INFUSED_IRON, 3)),