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