mirror of
https://github.com/Ilya3point999K/ThaumicConcilium.git
synced 2026-11-14 00:14:06 +00:00
1.1.1
This commit is contained in:
1 parent
b6dc016267
commit
96439af167
10 files changed
+86
-28
No files matched your search
@@ -1,3 +1,12 @@
|
||||
# Thaumic Concilium 1.1.1
|
||||
- FIXES:
|
||||
- Empty NBT tag no longer applied to dropped blocks and items.
|
||||
- Added black list support for Sloppy Alchemist and Burned Witch.
|
||||
- Correct handling of missing required mods instead of crash.
|
||||
- Explicit floor generation for Burning Site.
|
||||
- Crimson Avanpost' chest is now a legit loot table, modify "ThaumicConcilium:cultist_tower" with your loot editor of choice.
|
||||
|
||||
# Thaumic Concilium 1.1.0
|
||||
- !!!BREAKING, READ BEFORE UPDATING!!!
|
||||
- Config values for mob replacement and rift spawn chances are now defined in a sane way (lesser number - lesser chance). Reverse them in your configs accordingly.
|
||||
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ org.gradle.daemon=false
|
||||
|
||||
# General Specifications
|
||||
mc_version=1.7.10
|
||||
mod_version=1.1.0
|
||||
mod_version=1.1.1
|
||||
forge_version=10.13.4.1614
|
||||
mod_group=com.ilya3point999k.thaumicconcilium
|
||||
mod_id=thaumicconcilium
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.ilya3point999k.thaumicconcilium.common.items.wands.foci.TCFociUpgrade
|
||||
import com.ilya3point999k.thaumicconcilium.common.network.TCPacketHandler;
|
||||
import com.ilya3point999k.thaumicconcilium.common.registry.*;
|
||||
import com.ilya3point999k.thaumicconcilium.common.tiles.LithographerTile;
|
||||
import com.ilya3point999k.thaumicconcilium.common.world.CultistTowerWorldGen;
|
||||
import com.ilya3point999k.thaumicconcilium.common.world.ThaumicConciliumWorldGen;
|
||||
import com.ilya3point999k.thaumicconcilium.common.world.village.BurningSite;
|
||||
import com.ilya3point999k.thaumicconcilium.common.world.village.BurningSiteHandler;
|
||||
@@ -23,10 +24,15 @@ import cpw.mods.fml.common.registry.VillagerRegistry;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.WeightedRandomChestContent;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.structure.MapGenStructureIO;
|
||||
import net.minecraftforge.common.ChestGenHooks;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import thaumcraft.common.config.ConfigItems;
|
||||
import thaumcraft.common.entities.golems.ContainerGolem;
|
||||
import thaumcraft.common.entities.golems.EntityGolemBase;
|
||||
|
||||
@@ -42,12 +48,12 @@ public class CommonProxy implements IGuiHandler {
|
||||
TCEntityRegistry.init();
|
||||
TCConfig.configurate(event.getSuggestedConfigurationFile());
|
||||
TCPacketHandler.init();
|
||||
|
||||
GameRegistry.registerWorldGenerator(new ThaumicConciliumWorldGen(), 0);
|
||||
}
|
||||
|
||||
public void init(FMLInitializationEvent event) {
|
||||
Integration.init();
|
||||
|
||||
TCEntityEventHandler entityEventHandler = new TCEntityEventHandler();
|
||||
MinecraftForge.EVENT_BUS.register(entityEventHandler);
|
||||
FMLCommonHandler.instance().bus().register(entityEventHandler);
|
||||
@@ -56,6 +62,44 @@ public class CommonProxy implements IGuiHandler {
|
||||
VillagerRegistry.instance().registerVillageCreationHandler(new BurningSiteHandler());
|
||||
MapGenStructureIO.func_143031_a(BurningSite.class, "BurningSite");
|
||||
}
|
||||
if (Integration.dyes){
|
||||
ChestGenHooks chest = ChestGenHooks.getInfo(CultistTowerWorldGen.CULTIST_TOWER_LOOT);
|
||||
|
||||
chest.setMin(2);
|
||||
chest.setMax(8);
|
||||
|
||||
chest.addItem(new WeightedRandomChestContent(
|
||||
new ItemStack(ConfigItems.itemNugget, 1, 7),
|
||||
1, 3,
|
||||
10));
|
||||
|
||||
chest.addItem(new WeightedRandomChestContent(
|
||||
new ItemStack(ConfigItems.itemEldritchObject, 1, 1),
|
||||
1, 1,
|
||||
6));
|
||||
|
||||
chest.addItem(new WeightedRandomChestContent(
|
||||
new ItemStack(Items.bow),
|
||||
1, 1,
|
||||
8));
|
||||
|
||||
chest.addItem(new WeightedRandomChestContent(
|
||||
new ItemStack(Items.arrow),
|
||||
1, 16,
|
||||
15));
|
||||
|
||||
chest.addItem(new WeightedRandomChestContent(
|
||||
new ItemStack(ConfigItems.itemTripleMeatTreat),
|
||||
1, 3,
|
||||
10));
|
||||
|
||||
chest.addItem(new WeightedRandomChestContent(
|
||||
new ItemStack(ConfigItems.itemResource, 1, 9),
|
||||
1, 3,
|
||||
12));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void postInit(FMLPostInitializationEvent event) {
|
||||
|
||||
@@ -67,6 +67,8 @@ public class TCConfig {
|
||||
public static int[] vengefulGolemBiomeBlacklist;
|
||||
public static int[] crimsonRangerBiomeBlacklist;
|
||||
public static int[] witheredBotanistBiomeBlacklist;
|
||||
public static int[] sloppyAlchemistBiomeBlacklist;
|
||||
public static int[] burnedWitchBiomeBlacklist;
|
||||
|
||||
public static int crimsonRaidID;
|
||||
|
||||
@@ -127,8 +129,10 @@ public class TCConfig {
|
||||
biomes = conf.getString("crimsonRangerBiomeBlacklist","mobs", "", "Comma separated IDs of biomes where spawn is not allowed");
|
||||
crimsonRangerBiomeBlacklist = biomes.isEmpty() ? null : Arrays.stream(biomes.split(",")).mapToInt(Integer::parseInt).toArray();
|
||||
|
||||
biomes = conf.getString("witheredBotanistBiomeBlacklist","mobs", "", "Comma separated IDs of biomes where spawn is not allowed");
|
||||
witheredBotanistBiomeBlacklist = biomes.isEmpty() ? null : Arrays.stream(biomes.split(",")).mapToInt(Integer::parseInt).toArray();
|
||||
biomes = conf.getString("sloppyAlchemistBiomeBlacklist","mobs", "", "Comma separated IDs of biomes where spawn is not allowed");
|
||||
sloppyAlchemistBiomeBlacklist = biomes.isEmpty() ? null : Arrays.stream(biomes.split(",")).mapToInt(Integer::parseInt).toArray();
|
||||
biomes = conf.getString("burnedWitchBiomeBlacklist","mobs", "", "Comma separated IDs of biomes where spawn is not allowed");
|
||||
burnedWitchBiomeBlacklist = biomes.isEmpty() ? null : Arrays.stream(biomes.split(",")).mapToInt(Integer::parseInt).toArray();
|
||||
|
||||
madThaumaturgeReplacesBrainyZombieChance = conf.getInt("madThaumaturgeReplacesBrainyZombieChance", "mobs", 20, 0, 100, "0 - never, 100 - always.");
|
||||
crimsonPaladinReplacesCultistWarriorChance = conf.getInt("crimsonPaladinReplacesCultistWarriorChance", "mobs", 20, 0, 100, "0 - never, 100 - always.");
|
||||
|
||||
@@ -13,7 +13,7 @@ import net.minecraft.creativetab.CreativeTabs;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
@Mod(modid = ThaumicConcilium.MODID, name = ThaumicConcilium.NAME, version = ThaumicConcilium.VERSION, dependencies = "after:Thaumcraft;after:ForbiddenMagic;after:ThaumicTinkerer;after:gadomancy;after:thaumicbases;after:Automagy;after:TaintedMagic;after:ThaumicHorizons;after:witchery;after:arsmagica2;after:BloodArsenal;after:alfheim;after:Avaritia")
|
||||
@Mod(modid = ThaumicConcilium.MODID, name = ThaumicConcilium.NAME, version = ThaumicConcilium.VERSION, dependencies = "required-after:Thaumcraft;required-after:ForbiddenMagic;required-after:ThaumicTinkerer;after:gadomancy;after:thaumicbases;after:Automagy;after:TaintedMagic;after:ThaumicHorizons;after:witchery;after:arsmagica2;after:BloodArsenal;after:alfheim;after:Avaritia")
|
||||
public class ThaumicConcilium
|
||||
{
|
||||
public static final String MODID = "ThaumicConcilium";
|
||||
|
||||
+2
-2
@@ -182,7 +182,7 @@ public class TCEntityEventHandler {
|
||||
public void on(ItemTooltipEvent event) {
|
||||
if (event.itemStack == null) return;
|
||||
|
||||
if (ItemNBTHelper.verifyExistance(event.itemStack, ItemResource.TAG_MEMBRANE)){
|
||||
if (event.itemStack.hasTagCompound() && event.itemStack.getTagCompound().hasKey(ItemResource.TAG_MEMBRANE)){
|
||||
event.toolTip.add(StatCollector.translateToLocal("tc.tooltip.nether_membrane"));
|
||||
}
|
||||
if (event.itemStack.getItem() instanceof ItemWandCasting) {
|
||||
@@ -413,7 +413,7 @@ public class TCEntityEventHandler {
|
||||
ItemStack stack = entityItem.getDataWatcher().getWatchableObjectItemStack(10);
|
||||
if (stack == null) return;
|
||||
if (stack.stackSize < 1) return;
|
||||
if (ItemNBTHelper.getBoolean(stack, ItemResource.TAG_MEMBRANE, false)) {
|
||||
if (stack.hasTagCompound() && stack.getTagCompound().hasKey(ItemResource.TAG_MEMBRANE)) {
|
||||
EntityItemFireResistant f = new EntityItemFireResistant(event.world, entityItem.posX, entityItem.posY, entityItem.posZ, stack);
|
||||
f.delayBeforeCanPickup = 40;
|
||||
f.motionX = entityItem.motionX;
|
||||
|
||||
+4
-3
@@ -23,6 +23,7 @@ import fox.spiteful.forbidden.DarkAspects;
|
||||
import fox.spiteful.forbidden.compat.Compat;
|
||||
import net.minecraft.entity.EnumCreatureType;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraftforge.common.BiomeDictionary;
|
||||
import thaumcraft.api.ThaumcraftApi;
|
||||
import thaumcraft.api.aspects.Aspect;
|
||||
import thaumcraft.api.aspects.AspectList;
|
||||
@@ -209,9 +210,9 @@ public class TCEntityRegistry {
|
||||
EntityRegistry.addSpawn(WitheredBotanist.class, TCConfig.witheredBotanistSpawnChance, 1, 1, EnumCreatureType.creature, (BiomeGenBase[]) Arrays.stream(BiomeGenBase.getBiomeGenArray()).filter(x -> x != null && (TCConfig.witheredBotanistBiomeBlacklist == null || Arrays.stream(TCConfig.witheredBotanistBiomeBlacklist).noneMatch(y -> y == x.biomeID))).toArray(BiomeGenBase[]::new));
|
||||
}
|
||||
|
||||
if (Integration.witchery){
|
||||
EntityRegistry.addSpawn(SloppyAlchemist.class, TCConfig.sloppyAlchemistSpawnChance, 1, 1, EnumCreatureType.monster, BiomeGenBase.hell);
|
||||
EntityRegistry.addSpawn(BurnedWitch.class, TCConfig.burnedWitchSpawnChance, 1, 1, EnumCreatureType.monster, BiomeGenBase.hell);
|
||||
if (Integration.witchery && Compat.bm){
|
||||
EntityRegistry.addSpawn(SloppyAlchemist.class, TCConfig.sloppyAlchemistSpawnChance, 1, 1, EnumCreatureType.monster, Arrays.stream(BiomeDictionary.getBiomesForType(BiomeDictionary.Type.NETHER)).filter(x -> x != null && (TCConfig.sloppyAlchemistBiomeBlacklist == null || Arrays.stream(TCConfig.sloppyAlchemistBiomeBlacklist).noneMatch(y -> y == x.biomeID))).toArray(BiomeGenBase[]::new));
|
||||
EntityRegistry.addSpawn(BurnedWitch.class, TCConfig.burnedWitchSpawnChance, 1, 1, EnumCreatureType.monster, Arrays.stream(BiomeDictionary.getBiomesForType(BiomeDictionary.Type.NETHER)).filter(x -> x != null && (TCConfig.burnedWitchBiomeBlacklist == null || Arrays.stream(TCConfig.burnedWitchBiomeBlacklist).noneMatch(y -> y == x.biomeID))).toArray(BiomeGenBase[]::new));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+11
-17
@@ -1,5 +1,6 @@
|
||||
package com.ilya3point999k.thaumicconcilium.common.world;
|
||||
|
||||
import com.ilya3point999k.thaumicconcilium.common.ThaumicConcilium;
|
||||
import com.ilya3point999k.thaumicconcilium.common.entities.mobs.CrimsonArcher;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.init.Blocks;
|
||||
@@ -7,8 +8,10 @@ import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.tileentity.TileEntityChest;
|
||||
import net.minecraft.util.WeightedRandomChestContent;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
import net.minecraftforge.common.ChestGenHooks;
|
||||
import thaumcraft.common.config.ConfigBlocks;
|
||||
import thaumcraft.common.config.ConfigItems;
|
||||
import thaumcraft.common.tiles.TileBanner;
|
||||
@@ -18,6 +21,7 @@ import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class CultistTowerWorldGen extends WorldGenerator {
|
||||
public static final String CULTIST_TOWER_LOOT = ThaumicConcilium.MODID+":cultist_tower";
|
||||
|
||||
public static final List<Block> validTerrainList = new ArrayList<Block>(){{
|
||||
add(Blocks.dirt);
|
||||
@@ -201,24 +205,14 @@ public class CultistTowerWorldGen extends WorldGenerator {
|
||||
|
||||
world.setBlock(x + 5, y + 10, z - 2, Blocks.chest);
|
||||
TileEntityChest chest = (TileEntityChest) world.getTileEntity(x + 5, y + 10, z - 2);
|
||||
ItemStack[] lootTable = new ItemStack[]{
|
||||
new ItemStack(ConfigItems.itemNugget, random.nextInt(3) + 1, 7),
|
||||
new ItemStack(ConfigItems.itemEldritchObject, 1, 1),
|
||||
new ItemStack(Items.bow),
|
||||
new ItemStack(Items.arrow, random.nextInt(16) + 1),
|
||||
new ItemStack(ConfigItems.itemTripleMeatTreat, random.nextInt(3) + 1),
|
||||
new ItemStack(ConfigItems.itemResource, random.nextInt(3) + 1, 9)
|
||||
};
|
||||
ChestGenHooks info = ChestGenHooks.getInfo(CULTIST_TOWER_LOOT);
|
||||
|
||||
int itemsToAdd = random.nextInt(8) + 2;
|
||||
for (int i = 0; i < itemsToAdd; i++) {
|
||||
int slot = random.nextInt(chest.getSizeInventory());
|
||||
ItemStack loot = lootTable[random.nextInt(lootTable.length)].copy();
|
||||
|
||||
if (chest.getStackInSlot(slot) == null) {
|
||||
chest.setInventorySlotContents(slot, loot);
|
||||
}
|
||||
}
|
||||
WeightedRandomChestContent.generateChestContents(
|
||||
world.rand,
|
||||
info.getItems(world.rand),
|
||||
chest,
|
||||
info.getCount(world.rand)
|
||||
);
|
||||
|
||||
CrimsonArcher archer = new CrimsonArcher(world);
|
||||
archer.func_110163_bv();
|
||||
|
||||
+6
@@ -75,6 +75,12 @@ public class BurningSite extends StructureVillagePieces.Village {
|
||||
Blocks.gravel,
|
||||
Blocks.gravel,
|
||||
false);
|
||||
this.fillWithBlocks(world, box,
|
||||
0, -1, 0,
|
||||
8, -1, 8,
|
||||
Blocks.dirt,
|
||||
Blocks.dirt,
|
||||
false);
|
||||
|
||||
for (int x = 3; x <= 5; x++) {
|
||||
for (int z = 3; z <= 5; z++) {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"modid": "ThaumicConcilium",
|
||||
"name": "Thaumic Concilium",
|
||||
"description": "Addon for Thaumcraft about devices to assist in solo and coop gameplay",
|
||||
"version": "1.1.0",
|
||||
"version": "1.1.1",
|
||||
"mcversion": "1.7.10",
|
||||
"url": "",
|
||||
"updateUrl": "",
|
||||
|
||||
Reference in new issue
Block a user