Imperfect ritual system hopefully works correctly now
This commit is contained in:
parent
92bf7cc35b
commit
d285736ca9
|
@ -204,5 +204,6 @@ public class ConfigHandler {
|
|||
|
||||
public static void checkRituals() {
|
||||
RitualHelper.checkImperfectRituals(config, "WayofTime.bloodmagic.ritual.imperfect", "Rituals.imperfect");
|
||||
config.save();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ import java.util.ArrayList;
|
|||
|
||||
public class ImperfectRitualRegistry {
|
||||
|
||||
private static final BiMap<ImperfectRitual, Boolean> enabledRituals = HashBiMap.create();
|
||||
public static final BiMap<ImperfectRitual, Boolean> enabledRituals = HashBiMap.create();
|
||||
private static final BiMap<String, ImperfectRitual> registry = HashBiMap.create();
|
||||
|
||||
/**
|
||||
|
|
|
@ -9,7 +9,7 @@ import java.util.ArrayList;
|
|||
|
||||
public class RitualRegistry {
|
||||
|
||||
private static final BiMap<Ritual, Boolean> enabledRituals = HashBiMap.create();
|
||||
public static final BiMap<Ritual, Boolean> enabledRituals = HashBiMap.create();
|
||||
private static final BiMap<String, Ritual> registry = HashBiMap.create();
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package WayofTime.bloodmagic.api.ritual;
|
||||
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
@ -9,6 +10,7 @@ import java.util.ArrayList;
|
|||
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
@EqualsAndHashCode
|
||||
public abstract class Ritual {
|
||||
|
||||
private final String name;
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
package WayofTime.bloodmagic.api.ritual.imperfect;
|
||||
|
||||
import WayofTime.bloodmagic.api.BlockStack;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
@EqualsAndHashCode
|
||||
public abstract class ImperfectRitual {
|
||||
|
||||
private final String name;
|
||||
|
|
|
@ -32,11 +32,11 @@ public class RitualHelper {
|
|||
}
|
||||
|
||||
public static void checkImperfectRituals(Configuration config, String packageName, String category) {
|
||||
checkRituals(config, packageName, category, ImperfectRitual.class, ImperfectRitualRegistry.getEnabledMap());
|
||||
checkRituals(config, packageName, category, ImperfectRitual.class, ImperfectRitualRegistry.enabledRituals);
|
||||
}
|
||||
|
||||
public static void checkRituals(Configuration config, String packageName, String category) {
|
||||
checkRituals(config, packageName, category, Ritual.class, RitualRegistry.getEnabledMap());
|
||||
checkRituals(config, packageName, category, Ritual.class, RitualRegistry.enabledRituals);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -6,6 +6,8 @@ import WayofTime.bloodmagic.block.BlockAltar;
|
|||
import WayofTime.bloodmagic.block.BlockLifeEssence;
|
||||
import WayofTime.bloodmagic.block.BlockRitualController;
|
||||
import WayofTime.bloodmagic.item.block.ItemBlockRitualController;
|
||||
import WayofTime.bloodmagic.tile.TileImperfectRitualStone;
|
||||
import WayofTime.bloodmagic.tile.TileMasterRitualStone;
|
||||
import WayofTime.bloodmagic.util.helper.InventoryRenderHelper;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
|
@ -34,7 +36,8 @@ public class ModBlocks {
|
|||
}
|
||||
|
||||
public static void initTiles() {
|
||||
|
||||
GameRegistry.registerTileEntity(TileImperfectRitualStone.class, BloodMagic.MODID + ":" + TileImperfectRitualStone.class.getSimpleName());
|
||||
GameRegistry.registerTileEntity(TileMasterRitualStone.class, BloodMagic.MODID + ":" + TileMasterRitualStone.class.getSimpleName());
|
||||
}
|
||||
|
||||
public static void initRenders() {
|
||||
|
|
|
@ -16,12 +16,14 @@ public class ImperfectRitualNight extends ImperfectRitual {
|
|||
@Override
|
||||
public boolean onActivate(IImperfectRitualStone imperfectRitualStone, EntityPlayer player) {
|
||||
|
||||
boolean retFlag = false;
|
||||
|
||||
if (!imperfectRitualStone.getWorld().isRemote) {
|
||||
imperfectRitualStone.getWorld().addWeatherEffect(new EntityLightningBolt(imperfectRitualStone.getWorld(), imperfectRitualStone.getPos().getX(), imperfectRitualStone.getPos().getY() + 2, imperfectRitualStone.getPos().getZ()));
|
||||
imperfectRitualStone.getWorld().setWorldTime((imperfectRitualStone.getWorld().getWorldTime() / 24000) * 24000 + 13800);
|
||||
return true;
|
||||
retFlag = true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return retFlag;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ public class TileImperfectRitualStone extends TileEntity implements IImperfectRi
|
|||
@Override
|
||||
public boolean performRitual(World world, BlockPos pos, ImperfectRitual imperfectRitual, EntityPlayer player) {
|
||||
|
||||
if (imperfectRitual != null) {
|
||||
if (imperfectRitual != null && ImperfectRitualRegistry.ritualEnabled(imperfectRitual)) {
|
||||
System.out.println(imperfectRitual.toString());
|
||||
NetworkHelper.getSoulNetwork(player.getDisplayNameString(), world).syphonAndDamage(imperfectRitual.getActivationCost());
|
||||
return imperfectRitual.onActivate(this, player);
|
||||
|
|
Loading…
Reference in a new issue