Fix sounds & last of the low-hanging fruit

This commit is contained in:
CannibalVox 2015-03-04 04:09:48 -06:00
parent fe40edf200
commit c075079630
20 changed files with 264 additions and 285 deletions

View file

@ -64,7 +64,7 @@ public class DimData implements Serializable
{ {
while (k<range) while (k<range)
{ {
if (world.getBlockId(x+i, y+j, z+k) == properties.RiftBlockID && MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)<distance) if (world.getBlock(x+i, y+j, z+k) == mod_pocketDim.blockRift && MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)<distance)
{ {
if(MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)!=0) if(MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)!=0)
{ {
@ -104,7 +104,7 @@ public class DimData implements Serializable
{ {
while (k<range) while (k<range)
{ {
if(world.getBlockId(x+i, y+j, z+k)==properties.RiftBlockID) if(world.getBlock(x+i, y+j, z+k)==mod_pocketDim.blockRift)
{ {
if(MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)!=0) if(MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)!=0)
{ {

View file

@ -1,17 +1,23 @@
package StevenDimDoors.mod_pocketDim; package StevenDimDoors.mod_pocketDim;
import cpw.mods.fml.common.eventhandler.Event;
import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.EventPriority;
import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.ISound;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.client.audio.SoundManager; import net.minecraft.client.audio.SoundManager;
import net.minecraft.client.audio.SoundPoolEntry; import net.minecraft.client.audio.SoundPoolEntry;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.WorldProvider; import net.minecraft.world.WorldProvider;
import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.Chunk;
import net.minecraftforge.client.event.sound.PlayBackgroundMusicEvent; import net.minecraftforge.client.event.sound.PlayBackgroundMusicEvent;
import net.minecraftforge.client.event.sound.PlaySoundEvent17;
import net.minecraftforge.client.event.sound.SoundLoadEvent; import net.minecraftforge.client.event.sound.SoundLoadEvent;
import net.minecraftforge.event.entity.living.LivingDeathEvent; import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.event.entity.living.LivingFallEvent; import net.minecraftforge.event.entity.living.LivingFallEvent;
@ -45,9 +51,12 @@ public class EventHookContainer
private DDWorldProperties worldProperties; private DDWorldProperties worldProperties;
private RiftRegenerator regenerator; private RiftRegenerator regenerator;
private ISound limboMusic;
public EventHookContainer(DDProperties properties) public EventHookContainer(DDProperties properties)
{ {
this.properties = properties; this.properties = properties;
this.limboMusic = PositionedSoundRecord.func_147673_a(new ResourceLocation(mod_pocketDim.modid + ":creepy"));
} }
public void setSessionFields(DDWorldProperties worldProperties, RiftRegenerator regenerator) public void setSessionFields(DDWorldProperties worldProperties, RiftRegenerator regenerator)
@ -75,30 +84,19 @@ public class EventHookContainer
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@SubscribeEvent @SubscribeEvent
public void onSoundLoad(SoundLoadEvent event) public void onSoundEffectResult(PlaySoundEvent17 event)
{ {
event.manager.addSound(mod_pocketDim.modid + ":doorLockRemoved.ogg"); ResourceLocation playingSound = event.sound.getPositionedSoundLocation();
event.manager.addSound(mod_pocketDim.modid + ":doorLocked.ogg"); if (playingSound != null && playingSound.getResourceDomain().equals("minecraft") && playingSound.getResourcePath().equals("music.game")) {
event.manager.addSound(mod_pocketDim.modid + ":keyLock.ogg"); if (FMLClientHandler.instance().getClient().thePlayer.worldObj.provider.dimensionId == mod_pocketDim.properties.LimboDimensionID) {
event.manager.addSound(mod_pocketDim.modid + ":keyUnlock.ogg"); ResourceLocation sound = new ResourceLocation(mod_pocketDim.modid + ":creepy");
event.manager.addSound(mod_pocketDim.modid + ":monk.ogg");
event.manager.addSound(mod_pocketDim.modid + ":crack.ogg");
event.manager.addSound(mod_pocketDim.modid + ":tearing.ogg");
event.manager.addSound(mod_pocketDim.modid + ":rift.ogg");
event.manager.addSound(mod_pocketDim.modid + ":riftStart.ogg");
event.manager.addSound(mod_pocketDim.modid + ":riftEnd.ogg");
event.manager.addSound(mod_pocketDim.modid + ":riftClose.ogg");
event.manager.addSound(mod_pocketDim.modid + ":riftDoor.ogg");
event.manager.addSound(mod_pocketDim.modid + ":creepy.ogg");
}
@SideOnly(Side.CLIENT) if (!Minecraft.getMinecraft().getSoundHandler().isSoundPlaying(limboMusic)) {
@SubscribeEvent event.result = limboMusic;
public void onSoundEffectResult(PlayBackgroundMusicEvent event) } else {
{ event.setResult(Event.Result.DENY);
if (FMLClientHandler.instance().getClient().thePlayer.worldObj.provider.dimensionId == mod_pocketDim.properties.LimboDimensionID) }
{ }
this.playMusicForDim(FMLClientHandler.instance().getClient().thePlayer.worldObj);
} }
} }
@ -147,9 +145,9 @@ public class EventHookContainer
PocketManager.load(); PocketManager.load();
} }
if (event.world != null) if (FMLClientHandler.instance().getClient().thePlayer.worldObj.provider.dimensionId == mod_pocketDim.properties.LimboDimensionID &&
{ !Minecraft.getMinecraft().getSoundHandler().isSoundPlaying(limboMusic)) {
this.playMusicForDim(event.world); Minecraft.getMinecraft().getSoundHandler().playSound(limboMusic);
} }
} }
@ -210,7 +208,7 @@ public class EventHookContainer
if (properties.LimboEnabled && !properties.LimboReturnsInventoryEnabled) if (properties.LimboEnabled && !properties.LimboReturnsInventoryEnabled)
{ {
player.inventory.clearInventory(-1, -1); player.inventory.clearInventory(null, -1);
revivePlayerInLimbo(player); revivePlayerInLimbo(player);
event.setCanceled(true); event.setCanceled(true);
} }
@ -272,33 +270,4 @@ public class EventHookContainer
} }
} }
} }
public void playMusicForDim(World world)
{
if (world.isRemote)
{
SoundManager sndManager = FMLClientHandler.instance().getClient().sndManager;
// SenseiKiwi: I've added the following check as a quick fix for a
// reported crash. This needs to work without a hitch or we have to
// stop trying to replace the background music...
if (sndManager != null && sndManager.sndSystem != null)
{
if (world.provider instanceof LimboProvider)
{
sndManager.sndSystem.stop("BgMusic");
SoundPoolEntry soundPoolEntry = sndManager.soundPoolSounds.getRandomSoundFromSoundPool(mod_pocketDim.modid + ":creepy");
if (soundPoolEntry != null)
{
sndManager.sndSystem.backgroundMusic("LimboMusic", soundPoolEntry.getSoundUrl(), soundPoolEntry.getSoundName(), false);
sndManager.sndSystem.play("LimboMusic");
}
}
else if (!(world.provider instanceof LimboProvider))
{
sndManager.sndSystem.stop("LimboMusic");
}
}
}
}
} }

View file

@ -56,7 +56,7 @@ public class CommandCreateRandomRift extends DDCommandBase
dimension = PocketManager.getDimensionData(sender.worldObj); dimension = PocketManager.getDimensionData(sender.worldObj);
link = dimension.createLink(x, y + 1, z, LinkType.DUNGEON, orientation); link = dimension.createLink(x, y + 1, z, LinkType.DUNGEON, orientation);
sender.worldObj.setBlock(x, y + 1, z,mod_pocketDim.blockRift.blockID, 0, 3); sender.worldObj.setBlock(x, y + 1, z,mod_pocketDim.blockRift, 0, 3);
sendChat(sender, "Created a rift to a random dungeon."); sendChat(sender, "Created a rift to a random dungeon.");
} }
else else
@ -76,7 +76,7 @@ public class CommandCreateRandomRift extends DDCommandBase
if (PocketBuilder.generateSelectedDungeonPocket(link, mod_pocketDim.properties, result)) if (PocketBuilder.generateSelectedDungeonPocket(link, mod_pocketDim.properties, result))
{ {
// Create a rift to our selected dungeon and notify the player // Create a rift to our selected dungeon and notify the player
sender.worldObj.setBlock(x, y + 1, z, mod_pocketDim.blockRift.blockID, 0, 3); sender.worldObj.setBlock(x, y + 1, z, mod_pocketDim.blockRift, 0, 3);
sendChat(sender, "Created a rift to \"" + result.schematicName() + "\" dungeon (Dimension ID = " + link.destination().getDimension() + ")."); sendChat(sender, "Created a rift to \"" + result.schematicName() + "\" dungeon (Dimension ID = " + link.destination().getDimension() + ").");
} }
else else

View file

@ -71,7 +71,7 @@ public class CommandDeleteRifts extends DDCommandBase
x = location.getX(); x = location.getX();
y = location.getY(); y = location.getY();
z = location.getZ(); z = location.getZ();
if (world.getBlockId(x, y, z) == mod_pocketDim.blockRift.blockID) if (world.getBlock(x, y, z) == mod_pocketDim.blockRift)
{ {
// Remove the rift and its link // Remove the rift and its link
world.setBlockToAir(x, y, z); world.setBlockToAir(x, y, z);

View file

@ -62,7 +62,7 @@ public class CommandTeleportPlayer extends DDCommandBase
} }
} }
// Check if the target player is logged in // Check if the target player is logged in
targetPlayer = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(command[0]); targetPlayer = MinecraftServer.getServer().getConfigurationManager().func_152612_a(command[0]);
if (targetPlayer == null) if (targetPlayer == null)
{ {
return DDCommandResult.PLAYER_OFFLINE; return DDCommandResult.PLAYER_OFFLINE;

View file

@ -3,10 +3,11 @@ package StevenDimDoors.mod_pocketDim.helpers;
import java.util.HashMap; import java.util.HashMap;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
public class BlockRotationHelper public class BlockRotationHelper
{ {
public HashMap<Integer,HashMap<Integer,HashMap<Integer,Integer>>> rotationMappings = new HashMap<Integer,HashMap<Integer,HashMap<Integer,Integer>>>(); public HashMap<Integer,HashMap<Block,HashMap<Integer,Integer>>> rotationMappings = new HashMap<Integer,HashMap<Block,HashMap<Integer,Integer>>>();
public BlockRotationHelper() public BlockRotationHelper()
{ {
@ -15,7 +16,7 @@ public class BlockRotationHelper
public void InitializeRotationMap() public void InitializeRotationMap()
{ {
HashMap<Integer,HashMap<Integer, Integer>> orientation0 = new HashMap<Integer,HashMap<Integer, Integer>>(); HashMap<Block,HashMap<Integer, Integer>> orientation0 = new HashMap<Block,HashMap<Integer, Integer>>();
HashMap<Integer,Integer> stairs0 = new HashMap<Integer,Integer>(); HashMap<Integer,Integer> stairs0 = new HashMap<Integer,Integer>();
@ -99,7 +100,7 @@ public class BlockRotationHelper
railsSpecial0.put(9, 8); railsSpecial0.put(9, 8);
HashMap<Integer,HashMap<Integer, Integer>> orientation1 = new HashMap<Integer,HashMap<Integer, Integer>>(); HashMap<Block,HashMap<Integer, Integer>> orientation1 = new HashMap<Block,HashMap<Integer, Integer>>();
HashMap<Integer,Integer> stairs1 = new HashMap<Integer,Integer>(); HashMap<Integer,Integer> stairs1 = new HashMap<Integer,Integer>();
@ -183,7 +184,7 @@ public class BlockRotationHelper
railsSpecial1.put(8, 8); railsSpecial1.put(8, 8);
railsSpecial1.put(9, 9); railsSpecial1.put(9, 9);
HashMap<Integer,HashMap<Integer, Integer>> orientation2 = new HashMap<Integer,HashMap<Integer, Integer>>(); HashMap<Block,HashMap<Integer, Integer>> orientation2 = new HashMap<Block,HashMap<Integer, Integer>>();
HashMap<Integer,Integer> stairs2 = new HashMap<Integer,Integer>(); HashMap<Integer,Integer> stairs2 = new HashMap<Integer,Integer>();
@ -270,122 +271,119 @@ public class BlockRotationHelper
orientation0.put(Block.stairsBrick.blockID, stairs0); orientation0.put(Blocks.brick_stairs, stairs0);
orientation0.put(Block.stairsCobblestone.blockID, stairs0); orientation0.put(Blocks.stone_stairs, stairs0);
orientation0.put(Block.stairsNetherBrick.blockID, stairs0); orientation0.put(Blocks.nether_brick_stairs, stairs0);
orientation0.put(Block.stairsNetherQuartz.blockID, stairs0); orientation0.put(Blocks.quartz_stairs, stairs0);
orientation0.put(Block.stairsSandStone.blockID, stairs0); orientation0.put(Blocks.sandstone_stairs, stairs0);
orientation0.put(Block.stairsStoneBrick.blockID, stairs0); orientation0.put(Blocks.stone_brick_stairs, stairs0);
orientation0.put(Block.stairsWoodBirch.blockID, stairs0); orientation0.put(Blocks.birch_stairs, stairs0);
orientation0.put(Block.stairsWoodJungle.blockID, stairs0); orientation0.put(Blocks.jungle_stairs, stairs0);
orientation0.put(Block.stairsWoodOak.blockID, stairs0); orientation0.put(Blocks.oak_stairs, stairs0);
orientation0.put(Block.stairsWoodSpruce.blockID, stairs0); orientation0.put(Blocks.spruce_stairs, stairs0);
orientation0.put(Block.stairsBrick.blockID, stairs0); orientation0.put(Blocks.brick_stairs, stairs0);
orientation0.put(Block.vine.blockID, vine0); orientation0.put(Blocks.vine, vine0);
orientation0.put(Block.chest.blockID, chestsLadders0); orientation0.put(Blocks.chest, chestsLadders0);
orientation0.put(Block.chestTrapped.blockID, chestsLadders0); orientation0.put(Blocks.trapped_chest, chestsLadders0);
orientation0.put(Block.ladder.blockID, chestsLadders0); orientation0.put(Blocks.ladder, chestsLadders0);
orientation0.put(Block.lever.blockID, leverButtonTorch0); orientation0.put(Blocks.lever, leverButtonTorch0);
orientation0.put(Block.stoneButton.blockID, leverButtonTorch0); orientation0.put(Blocks.stone_button, leverButtonTorch0);
orientation0.put(Block.woodenButton.blockID, leverButtonTorch0); orientation0.put(Blocks.wooden_button, leverButtonTorch0);
orientation0.put(Block.torchRedstoneActive.blockID, leverButtonTorch0); orientation0.put(Blocks.redstone_torch, leverButtonTorch0);
orientation0.put(Block.torchRedstoneIdle.blockID, leverButtonTorch0); orientation0.put(Blocks.unlit_redstone_torch, leverButtonTorch0);
orientation0.put(Block.torchWood.blockID, leverButtonTorch0); orientation0.put(Blocks.torch, leverButtonTorch0);
orientation0.put(Block.pistonBase.blockID,pistonDropperDispenser0); orientation0.put(Blocks.piston,pistonDropperDispenser0);
orientation0.put(Block.pistonExtension.blockID,pistonDropperDispenser0); orientation0.put(Blocks.piston_head,pistonDropperDispenser0);
orientation0.put(Block.pistonMoving.blockID,pistonDropperDispenser0); orientation0.put(Blocks.piston_extension,pistonDropperDispenser0);
orientation0.put(Block.pistonStickyBase.blockID,pistonDropperDispenser0); orientation0.put(Blocks.sticky_piston,pistonDropperDispenser0);
orientation0.put(Block.dropper.blockID,pistonDropperDispenser0); orientation0.put(Blocks.dropper,pistonDropperDispenser0);
orientation0.put(Block.dispenser.blockID,pistonDropperDispenser0); orientation0.put(Blocks.dispenser,pistonDropperDispenser0);
orientation0.put(Block.redstoneComparatorActive.blockID,pistonDropperDispenser0); orientation0.put(Blocks.powered_comparator,pistonDropperDispenser0);
orientation0.put(Block.redstoneComparatorIdle.blockID,pistonDropperDispenser0); orientation0.put(Blocks.unpowered_comparator,pistonDropperDispenser0);
orientation0.put(Block.redstoneRepeaterActive.blockID,pistonDropperDispenser0); orientation0.put(Blocks.powered_repeater,pistonDropperDispenser0);
orientation0.put(Block.redstoneRepeaterIdle.blockID,pistonDropperDispenser0); orientation0.put(Blocks.unpowered_repeater,pistonDropperDispenser0);
orientation0.put(Block.doorWood.blockID,pistonDropperDispenser0); orientation0.put(Blocks.wooden_door,pistonDropperDispenser0);
orientation0.put(Block.doorIron.blockID,pistonDropperDispenser0); orientation0.put(Blocks.iron_door,pistonDropperDispenser0);
orientation0.put(Block.tripWireSource.blockID,pistonDropperDispenser0); orientation0.put(Blocks.tripwire_hook,pistonDropperDispenser0);
orientation0.put(Block.railDetector.blockID,railsSpecial0); orientation0.put(Blocks.detector_rail,railsSpecial0);
orientation0.put(Block.railActivator.blockID,railsSpecial0); orientation0.put(Blocks.activator_rail,railsSpecial0);
orientation0.put(Block.railPowered.blockID,railsSpecial0); orientation0.put(Blocks.golden_rail,railsSpecial0);
orientation0.put(Block.rail.blockID,rails0); orientation0.put(Blocks.rail,rails0);
orientation1.put(Block.stairsBrick.blockID, stairs1); orientation1.put(Blocks.brick_stairs, stairs1);
orientation1.put(Block.stairsCobblestone.blockID, stairs1); orientation1.put(Blocks.stone_stairs, stairs1);
orientation1.put(Block.stairsNetherBrick.blockID, stairs1); orientation1.put(Blocks.nether_brick_stairs, stairs1);
orientation1.put(Block.stairsNetherQuartz.blockID, stairs1); orientation1.put(Blocks.quartz_stairs, stairs1);
orientation1.put(Block.stairsSandStone.blockID, stairs1); orientation1.put(Blocks.sandstone_stairs, stairs1);
orientation1.put(Block.stairsStoneBrick.blockID, stairs1); orientation1.put(Blocks.stone_brick_stairs, stairs1);
orientation1.put(Block.stairsWoodBirch.blockID, stairs1); orientation1.put(Blocks.birch_stairs, stairs1);
orientation1.put(Block.stairsWoodJungle.blockID, stairs1); orientation1.put(Blocks.jungle_stairs, stairs1);
orientation1.put(Block.stairsWoodOak.blockID, stairs1); orientation1.put(Blocks.oak_stairs, stairs1);
orientation1.put(Block.stairsWoodSpruce.blockID, stairs1); orientation1.put(Blocks.spruce_stairs, stairs1);
orientation1.put(Block.stairsBrick.blockID, stairs1); orientation1.put(Blocks.vine, vine1);
orientation1.put(Block.vine.blockID, vine1); orientation1.put(Blocks.chest, chestsLadders1);
orientation1.put(Block.chest.blockID, chestsLadders1); orientation1.put(Blocks.trapped_chest, chestsLadders1);
orientation1.put(Block.chestTrapped.blockID, chestsLadders1); orientation1.put(Blocks.ladder, chestsLadders1);
orientation1.put(Block.ladder.blockID, chestsLadders1); orientation1.put(Blocks.lever, leverButtonTorch1);
orientation1.put(Block.lever.blockID, leverButtonTorch1); orientation1.put(Blocks.stone_button, leverButtonTorch1);
orientation1.put(Block.stoneButton.blockID, leverButtonTorch1); orientation1.put(Blocks.wooden_button, leverButtonTorch1);
orientation1.put(Block.woodenButton.blockID, leverButtonTorch1); orientation1.put(Blocks.redstone_torch, leverButtonTorch1);
orientation1.put(Block.torchRedstoneActive.blockID, leverButtonTorch1); orientation1.put(Blocks.unlit_redstone_torch, leverButtonTorch1);
orientation1.put(Block.torchRedstoneIdle.blockID, leverButtonTorch1); orientation1.put(Blocks.torch, leverButtonTorch1);
orientation1.put(Block.torchWood.blockID, leverButtonTorch1); orientation1.put(Blocks.piston,pistonDropperDispenser1);
orientation1.put(Block.pistonBase.blockID,pistonDropperDispenser1); orientation1.put(Blocks.piston_head,pistonDropperDispenser1);
orientation1.put(Block.pistonExtension.blockID,pistonDropperDispenser1); orientation1.put(Blocks.piston_extension,pistonDropperDispenser1);
orientation1.put(Block.pistonMoving.blockID,pistonDropperDispenser1); orientation1.put(Blocks.sticky_piston,pistonDropperDispenser1);
orientation1.put(Block.pistonStickyBase.blockID,pistonDropperDispenser1); orientation1.put(Blocks.dropper,pistonDropperDispenser1);
orientation1.put(Block.dropper.blockID,pistonDropperDispenser1); orientation1.put(Blocks.dispenser,pistonDropperDispenser1);
orientation1.put(Block.dispenser.blockID,pistonDropperDispenser1); orientation1.put(Blocks.powered_comparator,pistonDropperDispenser1);
orientation1.put(Block.redstoneComparatorActive.blockID,pistonDropperDispenser1); orientation1.put(Blocks.unpowered_comparator,pistonDropperDispenser1);
orientation1.put(Block.redstoneComparatorIdle.blockID,pistonDropperDispenser1); orientation1.put(Blocks.powered_repeater,pistonDropperDispenser1);
orientation1.put(Block.redstoneRepeaterActive.blockID,pistonDropperDispenser1); orientation1.put(Blocks.unpowered_repeater,pistonDropperDispenser1);
orientation1.put(Block.redstoneRepeaterIdle.blockID,pistonDropperDispenser1); orientation1.put(Blocks.wooden_door,pistonDropperDispenser1);
orientation1.put(Block.doorWood.blockID,pistonDropperDispenser1); orientation1.put(Blocks.iron_door,pistonDropperDispenser1);
orientation1.put(Block.doorIron.blockID,pistonDropperDispenser1); orientation1.put(Blocks.tripwire_hook,pistonDropperDispenser1);
orientation1.put(Block.tripWireSource.blockID,pistonDropperDispenser1); orientation1.put(Blocks.detector_rail,railsSpecial1);
orientation1.put(Block.railDetector.blockID,railsSpecial1); orientation1.put(Blocks.activator_rail,railsSpecial1);
orientation1.put(Block.railActivator.blockID,railsSpecial1); orientation1.put(Blocks.golden_rail,railsSpecial1);
orientation1.put(Block.railPowered.blockID,railsSpecial1); orientation1.put(Blocks.rail,rails1);
orientation1.put(Block.rail.blockID,rails1);
orientation2.put(Block.stairsBrick.blockID, stairs2); orientation2.put(Blocks.brick_stairs, stairs2);
orientation2.put(Block.stairsCobblestone.blockID, stairs2); orientation2.put(Blocks.stone_stairs, stairs2);
orientation2.put(Block.stairsNetherBrick.blockID, stairs2); orientation2.put(Blocks.nether_brick_stairs, stairs2);
orientation2.put(Block.stairsNetherQuartz.blockID, stairs2); orientation2.put(Blocks.quartz_stairs, stairs2);
orientation2.put(Block.stairsSandStone.blockID, stairs2); orientation2.put(Blocks.sandstone_stairs, stairs2);
orientation2.put(Block.stairsStoneBrick.blockID, stairs2); orientation2.put(Blocks.stone_brick_stairs, stairs2);
orientation2.put(Block.stairsWoodBirch.blockID, stairs2); orientation2.put(Blocks.birch_stairs, stairs2);
orientation2.put(Block.stairsWoodJungle.blockID, stairs2); orientation2.put(Blocks.jungle_stairs, stairs2);
orientation2.put(Block.stairsWoodOak.blockID, stairs2); orientation2.put(Blocks.oak_stairs, stairs2);
orientation2.put(Block.stairsWoodSpruce.blockID, stairs2); orientation2.put(Blocks.spruce_stairs, stairs2);
orientation2.put(Block.stairsBrick.blockID, stairs2); orientation2.put(Blocks.vine, vine2);
orientation2.put(Block.vine.blockID, vine2); orientation2.put(Blocks.trapped_chest, chestsLadders2);
orientation2.put(Block.chest.blockID, chestsLadders2); orientation2.put(Blocks.ladder, chestsLadders2);
orientation2.put(Block.chestTrapped.blockID, chestsLadders2); orientation2.put(Blocks.lever, leverButtonTorch2);
orientation2.put(Block.ladder.blockID, chestsLadders2); orientation2.put(Blocks.stone_button, leverButtonTorch2);
orientation2.put(Block.lever.blockID, leverButtonTorch2); orientation2.put(Blocks.wooden_button, leverButtonTorch2);
orientation2.put(Block.stoneButton.blockID, leverButtonTorch2); orientation2.put(Blocks.redstone_torch, leverButtonTorch2);
orientation2.put(Block.woodenButton.blockID, leverButtonTorch2); orientation2.put(Blocks.unlit_redstone_torch, leverButtonTorch2);
orientation2.put(Block.torchRedstoneActive.blockID, leverButtonTorch2); orientation2.put(Blocks.torch, leverButtonTorch2);
orientation2.put(Block.torchRedstoneIdle.blockID, leverButtonTorch2); orientation2.put(Blocks.piston,pistonDropperDispenser2);
orientation2.put(Block.torchWood.blockID, leverButtonTorch2); orientation2.put(Blocks.piston_head,pistonDropperDispenser2);
orientation2.put(Block.pistonBase.blockID,pistonDropperDispenser2); orientation2.put(Blocks.piston_extension,pistonDropperDispenser2);
orientation2.put(Block.pistonExtension.blockID,pistonDropperDispenser2); orientation2.put(Blocks.sticky_piston,pistonDropperDispenser2);
orientation2.put(Block.pistonMoving.blockID,pistonDropperDispenser2); orientation2.put(Blocks.dropper,pistonDropperDispenser2);
orientation2.put(Block.pistonStickyBase.blockID,pistonDropperDispenser2); orientation2.put(Blocks.dispenser,pistonDropperDispenser2);
orientation2.put(Block.dropper.blockID,pistonDropperDispenser2); orientation2.put(Blocks.powered_comparator,pistonDropperDispenser2);
orientation2.put(Block.dispenser.blockID,pistonDropperDispenser2); orientation2.put(Blocks.unpowered_comparator,pistonDropperDispenser2);
orientation2.put(Block.redstoneComparatorActive.blockID,pistonDropperDispenser2); orientation2.put(Blocks.powered_repeater,pistonDropperDispenser2);
orientation2.put(Block.redstoneComparatorIdle.blockID,pistonDropperDispenser2); orientation2.put(Blocks.unpowered_repeater,pistonDropperDispenser2);
orientation2.put(Block.redstoneRepeaterActive.blockID,pistonDropperDispenser2); orientation2.put(Blocks.wooden_door,pistonDropperDispenser2);
orientation2.put(Block.redstoneRepeaterIdle.blockID,pistonDropperDispenser2); orientation2.put(Blocks.iron_door,pistonDropperDispenser2);
orientation2.put(Block.doorWood.blockID,pistonDropperDispenser2); orientation2.put(Blocks.tripwire_hook,pistonDropperDispenser2);
orientation2.put(Block.doorIron.blockID,pistonDropperDispenser2); orientation2.put(Blocks.detector_rail,railsSpecial2);
orientation2.put(Block.tripWireSource.blockID,pistonDropperDispenser2); orientation2.put(Blocks.activator_rail,railsSpecial2);
orientation2.put(Block.railDetector.blockID,railsSpecial2); orientation2.put(Blocks.golden_rail,railsSpecial2);
orientation2.put(Block.railActivator.blockID,railsSpecial2); orientation2.put(Blocks.rail,rails2);
orientation2.put(Block.railPowered.blockID,railsSpecial2);
orientation2.put(Block.rail.blockID,rails2);
this.rotationMappings.put(2, orientation2); this.rotationMappings.put(2, orientation2);
this.rotationMappings.put(1, orientation1); this.rotationMappings.put(1, orientation1);

View file

@ -32,9 +32,9 @@ public class ChunkLoaderHelper implements LoadingCallback
int y = ticket.getModData().getInteger("goldDimDoorY"); int y = ticket.getModData().getInteger("goldDimDoorY");
int z = ticket.getModData().getInteger("goldDimDoorZ"); int z = ticket.getModData().getInteger("goldDimDoorZ");
if (world.getBlockId(x, y, z) == mod_pocketDim.properties.GoldenDimensionalDoorID) if (world.getBlock(x, y, z) == mod_pocketDim.goldenDimensionalDoor)
{ {
IChunkLoader loader = (IChunkLoader) world.getBlockTileEntity(x, y, z); IChunkLoader loader = (IChunkLoader) world.getTileEntity(x, y, z);
if (!loader.isInitialized()) if (!loader.isInitialized())
{ {
loader.initialize(ticket); loader.initialize(ticket);

View file

@ -52,22 +52,17 @@ public class yCoordHelper
public static boolean isCoveredBlock(Chunk chunk, int localX, int y, int localZ) public static boolean isCoveredBlock(Chunk chunk, int localX, int y, int localZ)
{ {
int blockID;
Block block; Block block;
Material material; Material material;
if (y < 0) if (y < 0)
return false; return false;
blockID = chunk.getBlockID(localX, y, localZ); block = chunk.getBlock(localX, y, localZ);
if (blockID == 0)
return false;
block = Block.blocksList[blockID];
if (block == null) if (block == null)
return false; return false;
material = block.blockMaterial; material = block.getMaterial();
return (material.isLiquid() || !material.isReplaceable()); return (material.isLiquid() || !material.isReplaceable());
} }
@ -109,12 +104,11 @@ public class yCoordHelper
{ {
for (dz = -1; dz <= 1 && isSafe; dz++) for (dz = -1; dz <= 1 && isSafe; dz++)
{ {
blockID = chunk.getBlockID(localX + dx, y, localZ + dz); block = chunk.getBlock(localX + dx, y, localZ + dz);
metadata = chunk.getBlockMetadata(localX + dx, y, localZ + dz); metadata = chunk.getBlockMetadata(localX + dx, y, localZ + dz);
block = Block.blocksList[blockID]; if (!block.isAir(world, x, y, z) && (!block.getMaterial().isReplaceable() || block.getMaterial().isLiquid()))
if (blockID != 0 && (!block.blockMaterial.isReplaceable() || block.blockMaterial.isLiquid()))
{ {
if (!block.blockMaterial.isReplaceable() && (!block.isOpaqueCube() || block.hasTileEntity(metadata))) if (!block.getMaterial().isReplaceable() && (!block.isOpaqueCube() || block.hasTileEntity(metadata)))
{ {
isSafe = false; isSafe = false;
} }
@ -170,12 +164,11 @@ public class yCoordHelper
{ {
for (dz = -1; dz <= 1 && isSafe; dz++) for (dz = -1; dz <= 1 && isSafe; dz++)
{ {
blockID = chunk.getBlockID(localX + dx, y, localZ + dz); block = chunk.getBlock(localX + dx, y, localZ + dz);
metadata = chunk.getBlockMetadata(localX + dx, y, localZ + dz); metadata = chunk.getBlockMetadata(localX + dx, y, localZ + dz);
block = Block.blocksList[blockID]; if (!block.isAir(world,x,y,z) && (!block.getMaterial().isReplaceable() || block.getMaterial().isLiquid()))
if (blockID != 0 && (!block.blockMaterial.isReplaceable() || block.blockMaterial.isLiquid()))
{ {
if (!block.blockMaterial.isReplaceable() && (!block.isOpaqueCube() || block.hasTileEntity(metadata))) if (!block.getMaterial().isReplaceable() && (!block.isOpaqueCube() || block.hasTileEntity(metadata)))
{ {
if (layers >= 3) if (layers >= 3)
{ {
@ -247,7 +240,7 @@ public class yCoordHelper
{ {
for (dz = -1; dz <= 1; dz++, index++) for (dz = -1; dz <= 1; dz++, index++)
{ {
if (chunk.getBlockID(localX + dx, y, localZ + dz) != 0) if (!chunk.getBlock(localX + dx, y, localZ + dz).isAir(world, x+dx,y,z+dz))
{ {
gaps[index] = 0; gaps[index] = 0;
} }

View file

@ -14,9 +14,9 @@ public class ChunkBlockSetter implements IBlockSetter
this.ignoreAir = ignoreAir; this.ignoreAir = ignoreAir;
} }
public void setBlock(World world, int x, int y, int z, int blockID, int metadata) public void setBlock(World world, int x, int y, int z, Block block, int metadata)
{ {
if ((blockID == 0 && ignoreAir) || (blockID != 0 && Block.blocksList[blockID] == null)) if (block.isAir(world, x, y, z) && ignoreAir)
{ {
return; return;
} }
@ -39,7 +39,7 @@ public class ChunkBlockSetter implements IBlockSetter
extBlockStorage = new ExtendedBlockStorage(cY << 4, !world.provider.hasNoSky); extBlockStorage = new ExtendedBlockStorage(cY << 4, !world.provider.hasNoSky);
chunk.getBlockStorageArray()[cY] = extBlockStorage; chunk.getBlockStorageArray()[cY] = extBlockStorage;
} }
extBlockStorage.setExtBlockID(localX, y & 15, localZ, blockID); extBlockStorage.setExtBlockID(localX, y & 15, localZ, block);
extBlockStorage.setExtBlockMetadata(localX, y & 15, localZ, metadata); extBlockStorage.setExtBlockMetadata(localX, y & 15, localZ, metadata);
chunk.setChunkModified(); chunk.setChunkModified();
} }

View file

@ -42,7 +42,7 @@ public class WorldCopyOperation extends WorldOperation
blockIDs[index] = (short) world.getBlockId(x, y, z); blockIDs[index] = (short) world.getBlockId(x, y, z);
metadata[index] = (byte) world.getBlockMetadata(x, y, z); metadata[index] = (byte) world.getBlockMetadata(x, y, z);
TileEntity tileEntity = world.getBlockTileEntity(x, y, z); TileEntity tileEntity = world.getTileEntity(x, y, z);
if (tileEntity != null) if (tileEntity != null)
{ {
//Extract tile entity data //Extract tile entity data

View file

@ -94,7 +94,7 @@ public class MobMonolith extends EntityFlying implements IMob
protected void applyEntityAttributes() protected void applyEntityAttributes()
{ {
super.applyEntityAttributes(); super.applyEntityAttributes();
this.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.maxHealth).setAttribute(57005); this.getAttributeMap().getAttributeInstance(SharedMonsterAttributes.maxHealth).setBaseValue(57005);
} }
@Override @Override

View file

@ -2,7 +2,9 @@ package StevenDimDoors.mod_pocketDim.world;
import java.util.Random; import java.util.Random;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.gen.MapGenBase; import net.minecraft.world.gen.MapGenBase;
@ -21,15 +23,15 @@ public class CustomCaveGen extends MapGenBase
/** /**
* Generates a larger initial cave node than usual. Called 25% of the time. * Generates a larger initial cave node than usual. Called 25% of the time.
*/ */
protected void generateLargeCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10) protected void generateLargeCaveNode(long par1, int par3, int par4, Block[] blocks, double par6, double par8, double par10)
{ {
this.generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + this.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); this.generateCaveNode(par1, par3, par4, blocks, par6, par8, par10, 1.0F + this.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D);
} }
/** /**
* Generates a node in the current cave system recursion tree. * Generates a node in the current cave system recursion tree.
*/ */
protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) protected void generateCaveNode(long par1, int par3, int par4, Block[] blocks, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17)
{ {
double var19 = par3 * 16 + 8; double var19 = par3 * 16 + 8;
double var21 = par4 * 16 + 8; double var21 = par4 * 16 + 8;
@ -81,8 +83,8 @@ public class CustomCaveGen extends MapGenBase
if (!var54 && par15 == var27 && par12 > 1.0F && par16 > 0) if (!var54 && par15 == var27 && par12 > 1.0F && par16 > 0)
{ {
this.generateCaveNode(var25.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, var25.nextFloat() * 0.5F + 0.5F, par13 - ((float)Math.PI / 2F), par14 / 3.0F, par15, par16, 1.0D); this.generateCaveNode(var25.nextLong(), par3, par4, blocks, par6, par8, par10, var25.nextFloat() * 0.5F + 0.5F, par13 - ((float)Math.PI / 2F), par14 / 3.0F, par15, par16, 1.0D);
this.generateCaveNode(var25.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, var25.nextFloat() * 0.5F + 0.5F, par13 + ((float)Math.PI / 2F), par14 / 3.0F, par15, par16, 1.0D); this.generateCaveNode(var25.nextLong(), par3, par4, blocks, par6, par8, par10, var25.nextFloat() * 0.5F + 0.5F, par13 + ((float)Math.PI / 2F), par14 / 3.0F, par15, par16, 1.0D);
return; return;
} }
@ -151,7 +153,7 @@ public class CustomCaveGen extends MapGenBase
if (var44 >= 0 && var44 < 128) if (var44 >= 0 && var44 < 128)
{ {
if (par5ArrayOfByte[var45] == Block.waterMoving.blockID || par5ArrayOfByte[var45] == Block.waterStill.blockID) if (blocks[var45] == Blocks.flowing_water || blocks[var45] == Blocks.water)
{ {
var58 = true; var58 = true;
} }
@ -185,26 +187,26 @@ public class CustomCaveGen extends MapGenBase
if (var51 > -0.7D && var59 * var59 + var51 * var51 + var46 * var46 < 1.0D) if (var51 > -0.7D && var59 * var59 + var51 * var51 + var46 * var46 < 1.0D)
{ {
byte var53 = par5ArrayOfByte[var48]; Block var53 = blocks[var48];
if (var53 == Block.grass.blockID) if (var53 == Blocks.grass)
{ {
var49 = true; var49 = true;
} }
if (var53 == properties.LimboBlockID || var53 == Block.dirt.blockID || var53 == Block.grass.blockID) if (var53 == mod_pocketDim.blockLimbo || var53 == Blocks.dirt || var53 == Blocks.grass)
{ {
if (var50 < 10) if (var50 < 10)
{ {
par5ArrayOfByte[var48] = (byte)Block.lavaMoving.blockID; blocks[var48] = Blocks.flowing_lava;
} }
else else
{ {
par5ArrayOfByte[var48] = 0; blocks[var48] = Blocks.air;
if (var49 && par5ArrayOfByte[var48 - 1] == Block.dirt.blockID) if (var49 && blocks[var48 - 1] == Blocks.dirt)
{ {
par5ArrayOfByte[var48 - 1] = this.worldObj.getBiomeGenForCoords(var42 + par3 * 16, var45 + par4 * 16).topBlock; blocks[var48 - 1] = this.worldObj.getBiomeGenForCoords(var42 + par3 * 16, var45 + par4 * 16).topBlock;
} }
} }
} }
@ -230,7 +232,7 @@ public class CustomCaveGen extends MapGenBase
* Recursively called by generate() (generate) and optionally by itself. * Recursively called by generate() (generate) and optionally by itself.
*/ */
@Override @Override
protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte) protected void func_151538_a(World par1World, int par2, int par3, int par4, int par5, Block[] blocks)
{ {
int var7 = this.rand.nextInt(this.rand.nextInt(this.rand.nextInt(40) + 1) + 1); int var7 = this.rand.nextInt(this.rand.nextInt(this.rand.nextInt(40) + 1) + 1);
@ -248,7 +250,7 @@ public class CustomCaveGen extends MapGenBase
if (this.rand.nextInt(4) == 0) if (this.rand.nextInt(4) == 0)
{ {
this.generateLargeCaveNode(this.rand.nextLong(), par4, par5, par6ArrayOfByte, var9, var11, var13); this.generateLargeCaveNode(this.rand.nextLong(), par4, par5, blocks, var9, var11, var13);
var15 += this.rand.nextInt(4); var15 += this.rand.nextInt(4);
} }
@ -263,7 +265,7 @@ public class CustomCaveGen extends MapGenBase
var19 *= this.rand.nextFloat() * this.rand.nextFloat() * 3.0F + 1.0F; var19 *= this.rand.nextFloat() * this.rand.nextFloat() * 3.0F + 1.0F;
} }
this.generateCaveNode(this.rand.nextLong(), par4, par5, par6ArrayOfByte, var9, var11, var13, var19, var17, var18, 0, 0, 1.0D); this.generateCaveNode(this.rand.nextLong(), par4, par5, blocks, var9, var11, var13, var19, var17, var18, 0, 0, 1.0D);
} }
} }
} }

View file

@ -23,7 +23,7 @@ public class DDBiomeGenBase extends BiomeGenBase
{ {
for (int k = 0; k < biomes.length; k++) for (int k = 0; k < biomes.length; k++)
{ {
if (biomeList[biomes[k]] != null && !(biomeList[biomes[k]] instanceof DDBiomeGenBase)) if (getBiomeGenArray()[biomes[k]] != null && !(getBiomeGenArray()[biomes[k]] instanceof DDBiomeGenBase))
{ {
// Crash Minecraft to avoid having people complain to us about strange things // Crash Minecraft to avoid having people complain to us about strange things
// that are really the result of silent biome ID conflicts. // that are really the result of silent biome ID conflicts.

View file

@ -31,7 +31,7 @@ public class PersonalPocketProvider extends PocketProvider
public Vec3 getSkyColor(Entity cameraEntity, float partialTicks) public Vec3 getSkyColor(Entity cameraEntity, float partialTicks)
{ {
setCloudRenderer( new CloudRenderBlank()); setCloudRenderer( new CloudRenderBlank());
return this.worldObj.getWorldVec3Pool().getVecFromPool(1,1,1); return Vec3.createVectorHelper(1,1,1);
} }
public boolean isSurfaceWorld() public boolean isSurfaceWorld()
@ -61,7 +61,7 @@ public class PersonalPocketProvider extends PocketProvider
@Override @Override
public Vec3 getFogColor(float par1, float par2) public Vec3 getFogColor(float par1, float par2)
{ {
return this.worldObj.getWorldVec3Pool().getVecFromPool(1,1,1); return Vec3.createVectorHelper(1,1,1);
} }
@Override @Override

View file

@ -2,7 +2,7 @@ package StevenDimDoors.mod_pocketDim.world.fortresses;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import net.minecraft.block.Block; import net.minecraft.init.Blocks;
import net.minecraft.item.ItemDoor; import net.minecraft.item.ItemDoor;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -71,75 +71,75 @@ public class ComponentNetherGateway extends StructureComponent
int NETHER_SLAB_METADATA = 6; int NETHER_SLAB_METADATA = 6;
// Set all the blocks in the area of the room to air // Set all the blocks in the area of the room to air
this.fillWithBlocks(world, bounds, 0, 2, 0, 6, 6, 6, 0, 0, false); this.fillWithBlocks(world, bounds, 0, 2, 0, 6, 6, 6, Blocks.air, Blocks.air, false);
// Set up the platform under the gateway // Set up the platform under the gateway
this.fillWithBlocks(world, bounds, 0, 0, 0, 6, 1, 6, Block.netherBrick.blockID, Block.netherBrick.blockID, false); this.fillWithBlocks(world, bounds, 0, 0, 0, 6, 1, 6, Blocks.nether_brick, Blocks.nether_brick, false);
// Build the fence at the back of the room // Build the fence at the back of the room
this.fillWithBlocks(world, bounds, 1, 2, 6, 5, 2, 6, Block.netherBrick.blockID, Block.netherBrick.blockID, false); this.fillWithBlocks(world, bounds, 1, 2, 6, 5, 2, 6, Blocks.nether_brick, Blocks.nether_brick, false);
this.fillWithBlocks(world, bounds, 1, 3, 6, 5, 3, 6, Block.netherFence.blockID, Block.netherFence.blockID, false); this.fillWithBlocks(world, bounds, 1, 3, 6, 5, 3, 6, Blocks.nether_brick_fence, Blocks.nether_brick_fence, false);
// Build the fences at the sides of the room // Build the fences at the sides of the room
this.fillWithBlocks(world, bounds, 0, 2, 0, 0, 2, 6, Block.netherBrick.blockID, Block.netherBrick.blockID, false); this.fillWithBlocks(world, bounds, 0, 2, 0, 0, 2, 6, Blocks.nether_brick, Blocks.nether_brick, false);
this.fillWithBlocks(world, bounds, 0, 3, 0, 0, 3, 6, Block.netherFence.blockID, Block.netherFence.blockID, false); this.fillWithBlocks(world, bounds, 0, 3, 0, 0, 3, 6, Blocks.nether_brick_fence, Blocks.nether_brick_fence, false);
this.fillWithBlocks(world, bounds, 6, 2, 0, 6, 2, 6, Block.netherBrick.blockID, Block.netherBrick.blockID, false); this.fillWithBlocks(world, bounds, 6, 2, 0, 6, 2, 6, Blocks.nether_brick, Blocks.nether_brick, false);
this.fillWithBlocks(world, bounds, 6, 3, 0, 6, 3, 6, Block.netherFence.blockID, Block.netherFence.blockID, false); this.fillWithBlocks(world, bounds, 6, 3, 0, 6, 3, 6, Blocks.nether_brick_fence, Blocks.nether_brick_fence, false);
// Build the fence portions closest to the entrance // Build the fence portions closest to the entrance
this.placeBlockAtCurrentPosition(world, Block.netherBrick.blockID, 0, 1, 2, 0, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick, 0, 1, 2, 0, bounds);
this.placeBlockAtCurrentPosition(world, Block.netherFence.blockID, 0, 1, 3, 0, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_fence, 0, 1, 3, 0, bounds);
this.placeBlockAtCurrentPosition(world, Block.netherBrick.blockID, 0, 5, 2, 0, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick, 0, 5, 2, 0, bounds);
this.placeBlockAtCurrentPosition(world, Block.netherFence.blockID, 0, 5, 3, 0, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_fence, 0, 5, 3, 0, bounds);
// Build the first layer of the gateway // Build the first layer of the gateway
this.fillWithBlocks(world, bounds, 1, 2, 2, 5, 2, 5, Block.netherBrick.blockID, Block.netherBrick.blockID, false); this.fillWithBlocks(world, bounds, 1, 2, 2, 5, 2, 5, Blocks.nether_brick, Blocks.nether_brick, false);
this.fillWithMetadataBlocks(world, bounds, 1, 2, 1, 5, 2, 1, Block.stoneSingleSlab.blockID, NETHER_SLAB_METADATA, Block.stoneSingleSlab.blockID, NETHER_SLAB_METADATA, false); this.fillWithMetadataBlocks(world, bounds, 1, 2, 1, 5, 2, 1, Blocks.stone_slab, NETHER_SLAB_METADATA, Blocks.stone_slab, NETHER_SLAB_METADATA, false);
this.placeBlockAtCurrentPosition(world, Block.stoneSingleSlab.blockID, NETHER_SLAB_METADATA, 1, 2, 2, bounds); this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, NETHER_SLAB_METADATA, 1, 2, 2, bounds);
this.placeBlockAtCurrentPosition(world, Block.stoneSingleSlab.blockID, NETHER_SLAB_METADATA, 5, 2, 2, bounds); this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, NETHER_SLAB_METADATA, 5, 2, 2, bounds);
// Build the second layer of the gateway // Build the second layer of the gateway
int orientation = this.getMetadataWithOffset(Block.stairsNetherBrick.blockID, 2); int orientation = this.getMetadataWithOffset(Blocks.nether_brick_stairs, 2);
this.fillWithBlocks(world, bounds, 2, 3, 3, 2, 3, 4, Block.netherBrick.blockID, Block.netherBrick.blockID, false); this.fillWithBlocks(world, bounds, 2, 3, 3, 2, 3, 4, Blocks.nether_brick, Blocks.nether_brick, false);
this.fillWithBlocks(world, bounds, 4, 3, 3, 4, 3, 4, Block.netherBrick.blockID, Block.netherBrick.blockID, false); this.fillWithBlocks(world, bounds, 4, 3, 3, 4, 3, 4, Blocks.nether_brick, Blocks.nether_brick, false);
this.placeBlockAtCurrentPosition(world, Block.netherBrick.blockID, 0, 3, 3, 4, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick, 0, 3, 3, 4, bounds);
this.placeBlockAtCurrentPosition(world, Block.stairsNetherBrick.blockID, orientation, 3, 3, 5, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_stairs, orientation, 3, 3, 5, bounds);
// Build the third layer of the gateway // Build the third layer of the gateway
// We add 4 to get the rotated metadata for upside-down stairs // We add 4 to get the rotated metadata for upside-down stairs
// because Minecraft only supports metadata rotations for normal stairs -_- // because Minecraft only supports metadata rotations for normal stairs -_-
this.fillWithMetadataBlocks(world, bounds, 2, 4, 4, 4, 4, 4, Block.stairsNetherBrick.blockID, orientation, Block.stairsNetherBrick.blockID, orientation, false); this.fillWithMetadataBlocks(world, bounds, 2, 4, 4, 4, 4, 4, Blocks.nether_brick_stairs, orientation, Blocks.nether_brick_stairs, orientation, false);
this.placeBlockAtCurrentPosition(world, Block.stairsNetherBrick.blockID, this.getMetadataWithOffset(Block.stairsNetherBrick.blockID, 0) + 4, 2, 4, 3, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_stairs, this.getMetadataWithOffset(Blocks.nether_brick_stairs, 0) + 4, 2, 4, 3, bounds);
this.placeBlockAtCurrentPosition(world, Block.stairsNetherBrick.blockID, this.getMetadataWithOffset(Block.stairsNetherBrick.blockID, 1) + 4, 4, 4, 3, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_stairs, this.getMetadataWithOffset(Blocks.nether_brick_stairs, 1) + 4, 4, 4, 3, bounds);
// Build the fourth layer of the gateway // Build the fourth layer of the gateway
this.placeBlockAtCurrentPosition(world, Block.netherBrick.blockID, 0, 3, 5, 3, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick, 0, 3, 5, 3, bounds);
this.placeBlockAtCurrentPosition(world, Block.netherrack.blockID, 0, 2, 5, 3, bounds); this.placeBlockAtCurrentPosition(world, Blocks.netherrack, 0, 2, 5, 3, bounds);
this.placeBlockAtCurrentPosition(world, Block.stairsNetherBrick.blockID, this.getMetadataWithOffset(Block.stairsNetherBrick.blockID, 0) + 4, 1, 5, 3, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_stairs, this.getMetadataWithOffset(Blocks.nether_brick_stairs, 0) + 4, 1, 5, 3, bounds);
this.placeBlockAtCurrentPosition(world, Block.stairsNetherBrick.blockID, this.getMetadataWithOffset(Block.stairsNetherBrick.blockID, 3) + 4, 2, 5, 2, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_stairs, this.getMetadataWithOffset(Blocks.nether_brick_stairs, 3) + 4, 2, 5, 2, bounds);
this.placeBlockAtCurrentPosition(world, Block.stairsNetherBrick.blockID, this.getMetadataWithOffset(Block.stairsNetherBrick.blockID, 2) + 4, 2, 5, 4, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_stairs, this.getMetadataWithOffset(Blocks.nether_brick_stairs, 2) + 4, 2, 5, 4, bounds);
this.placeBlockAtCurrentPosition(world, Block.netherrack.blockID, 0, 4, 5, 3, bounds); this.placeBlockAtCurrentPosition(world, Blocks.netherrack, 0, 4, 5, 3, bounds);
this.placeBlockAtCurrentPosition(world, Block.stairsNetherBrick.blockID, this.getMetadataWithOffset(Block.stairsNetherBrick.blockID, 1) + 4, 5, 5, 3, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_stairs, this.getMetadataWithOffset(Blocks.nether_brick_stairs, 1) + 4, 5, 5, 3, bounds);
this.placeBlockAtCurrentPosition(world, Block.stairsNetherBrick.blockID, this.getMetadataWithOffset(Block.stairsNetherBrick.blockID, 3) + 4, 4, 5, 2, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_stairs, this.getMetadataWithOffset(Blocks.nether_brick_stairs, 3) + 4, 4, 5, 2, bounds);
this.placeBlockAtCurrentPosition(world, Block.stairsNetherBrick.blockID, this.getMetadataWithOffset(Block.stairsNetherBrick.blockID, 2) + 4, 4, 5, 4, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_stairs, this.getMetadataWithOffset(Blocks.nether_brick_stairs, 2) + 4, 4, 5, 4, bounds);
// Build the top layer of the gateway // Build the top layer of the gateway
this.placeBlockAtCurrentPosition(world, Block.netherFence.blockID, 0, 3, 6, 3, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_fence, 0, 3, 6, 3, bounds);
this.placeBlockAtCurrentPosition(world, Block.fire.blockID, 0, 2, 6, 3, bounds); this.placeBlockAtCurrentPosition(world, Blocks.fire, 0, 2, 6, 3, bounds);
this.placeBlockAtCurrentPosition(world, Block.netherFence.blockID, 0, 1, 6, 3, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_fence, 0, 1, 6, 3, bounds);
this.placeBlockAtCurrentPosition(world, Block.netherFence.blockID, 0, 2, 6, 2, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_fence, 0, 2, 6, 2, bounds);
this.placeBlockAtCurrentPosition(world, Block.netherFence.blockID, 0, 2, 6, 4, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_fence, 0, 2, 6, 4, bounds);
this.placeBlockAtCurrentPosition(world, Block.fire.blockID, 0, 4, 6, 3, bounds); this.placeBlockAtCurrentPosition(world, Blocks.fire, 0, 4, 6, 3, bounds);
this.placeBlockAtCurrentPosition(world, Block.netherFence.blockID, 0, 5, 6, 3, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_fence, 0, 5, 6, 3, bounds);
this.placeBlockAtCurrentPosition(world, Block.netherFence.blockID, 0, 4, 6, 2, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_fence, 0, 4, 6, 2, bounds);
this.placeBlockAtCurrentPosition(world, Block.netherFence.blockID, 0, 4, 6, 4, bounds); this.placeBlockAtCurrentPosition(world, Blocks.nether_brick_fence, 0, 4, 6, 4, bounds);
// Place the transient door // Place the transient door
int y = this.getYWithOffset(3); int y = this.getYWithOffset(3);
@ -152,7 +152,7 @@ public class ComponentNetherGateway extends StructureComponent
// due to the way Minecraft handles structure generation! // due to the way Minecraft handles structure generation!
if (bounds.isVecInside(x, y, z) && bounds.isVecInside(x, y + 1, z)) if (bounds.isVecInside(x, y, z) && bounds.isVecInside(x, y + 1, z))
{ {
orientation = this.getMetadataWithOffset(Block.doorWood.blockID, 1); orientation = this.getMetadataWithOffset(Blocks.wooden_door, 1);
dimension = PocketManager.createDimensionData(world); dimension = PocketManager.createDimensionData(world);
link = dimension.getLink(x, y + 1, z); link = dimension.getLink(x, y + 1, z);
if (link == null) if (link == null)
@ -166,7 +166,7 @@ public class ComponentNetherGateway extends StructureComponent
{ {
for (z = 0; z <= 6; ++z) for (z = 0; z <= 6; ++z)
{ {
this.fillCurrentPositionBlocksDownwards(world, Block.netherBrick.blockID, 0, x, -1, z, bounds); this.func_151554_b(world, Blocks.nether_brick, 0, x, -1, z, bounds);
} }
} }

View file

@ -1,5 +1,6 @@
package StevenDimDoors.mod_pocketDim.world.gateways; package StevenDimDoors.mod_pocketDim.world.gateways;
import net.minecraft.block.Block;
import net.minecraft.item.ItemDoor; import net.minecraft.item.ItemDoor;
import net.minecraft.world.World; import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
@ -18,17 +19,17 @@ public class GatewayLimbo extends BaseGateway
@Override @Override
public boolean generate(World world, int x, int y, int z) public boolean generate(World world, int x, int y, int z)
{ {
int blockID = mod_pocketDim.blockLimbo.blockID; Block block = mod_pocketDim.blockLimbo;
// Build the gateway out of Unraveled Fabric. Since nearly all the blocks in Limbo are of // Build the gateway out of Unraveled Fabric. Since nearly all the blocks in Limbo are of
// that type, there is no point replacing the ground. // that type, there is no point replacing the ground.
world.setBlock(x, y + 3, z + 1, blockID, 0, 3); world.setBlock(x, y + 3, z + 1, block, 0, 3);
world.setBlock(x, y + 3, z - 1, blockID, 0, 3); world.setBlock(x, y + 3, z - 1, block, 0, 3);
// Build the columns around the door // Build the columns around the door
world.setBlock(x, y + 2, z - 1, blockID, 0, 3); world.setBlock(x, y + 2, z - 1, block, 0, 3);
world.setBlock(x, y + 2, z + 1, blockID, 0, 3); world.setBlock(x, y + 2, z + 1, block, 0, 3);
world.setBlock(x, y + 1, z - 1, blockID, 0, 3); world.setBlock(x, y + 1, z - 1, block, 0, 3);
world.setBlock(x, y + 1, z + 1, blockID, 0, 3); world.setBlock(x, y + 1, z + 1, block, 0, 3);
PocketManager.getDimensionData(world).createLink(x, y + 2, z, LinkType.DUNGEON, 0); PocketManager.getDimensionData(world).createLink(x, y + 2, z, LinkType.DUNGEON, 0);

View file

@ -1,6 +1,7 @@
package StevenDimDoors.mod_pocketDim.world.gateways; package StevenDimDoors.mod_pocketDim.world.gateways;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World; import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.config.DDProperties; import StevenDimDoors.mod_pocketDim.config.DDProperties;
@ -16,7 +17,7 @@ public class GatewayTwoPillars extends BaseSchematicGateway
@Override @Override
protected void generateRandomBits(World world, int x, int y, int z) protected void generateRandomBits(World world, int x, int y, int z)
{ {
final int blockID = Block.stoneBrick.blockID; final Block block = Blocks.stonebrick;
//Replace some of the ground around the gateway with bricks //Replace some of the ground around the gateway with bricks
for (int xc = -GATEWAY_RADIUS; xc <= GATEWAY_RADIUS; xc++) for (int xc = -GATEWAY_RADIUS; xc <= GATEWAY_RADIUS; xc++)
@ -26,19 +27,19 @@ public class GatewayTwoPillars extends BaseSchematicGateway
//Check that the block is supported by an opaque block. //Check that the block is supported by an opaque block.
//This prevents us from building over a cliff, on the peak of a mountain, //This prevents us from building over a cliff, on the peak of a mountain,
//or the surface of the ocean or a frozen lake. //or the surface of the ocean or a frozen lake.
if (world.isBlockOpaqueCube(x + xc, y - 1, z + zc)) if (world.isBlockNormalCubeDefault(x + xc, y - 1, z + zc, false))
{ {
//Randomly choose whether to place bricks or not. The math is designed so that the //Randomly choose whether to place bricks or not. The math is designed so that the
//chances of placing a block decrease as we get farther from the gateway's center. //chances of placing a block decrease as we get farther from the gateway's center.
if (Math.abs(xc) + Math.abs(zc) < world.rand.nextInt(2) + 3) if (Math.abs(xc) + Math.abs(zc) < world.rand.nextInt(2) + 3)
{ {
//Place Stone Bricks //Place Stone Bricks
world.setBlock(x + xc, y, z + zc, blockID, 0, 3); world.setBlock(x + xc, y, z + zc, block, 0, 3);
} }
else if (Math.abs(xc) + Math.abs(zc) < world.rand.nextInt(3) + 3) else if (Math.abs(xc) + Math.abs(zc) < world.rand.nextInt(3) + 3)
{ {
//Place Cracked Stone Bricks //Place Cracked Stone Bricks
world.setBlock(x + xc, y, z + zc, blockID, 2, 3); world.setBlock(x + xc, y, z + zc, block, 2, 3);
} }
} }
} }

View file

@ -35,14 +35,14 @@ public class ClientProxy extends CommonProxy
@Override @Override
public void updateDoorTE(BaseDimDoor door, World world, int x, int y, int z) public void updateDoorTE(BaseDimDoor door, World world, int x, int y, int z)
{ {
TileEntity tile = world.getBlockTileEntity(x, y, z); TileEntity tile = world.getTileEntity(x, y, z);
if (tile instanceof TileEntityDimDoor) if (tile instanceof TileEntityDimDoor)
{ {
DimLink link = PocketManager.getLink(x, y, z, world); DimLink link = PocketManager.getLink(x, y, z, world);
int metadata = world.getBlockMetadata(x, y, z); int metadata = world.getBlockMetadata(x, y, z);
TileEntityDimDoor dimTile = (TileEntityDimDoor) tile; TileEntityDimDoor dimTile = (TileEntityDimDoor) tile;
dimTile.openOrClosed = door.isDoorOnRift(world, x, y, z)&&door.isUpperDoorBlock(metadata); dimTile.openOrClosed = door.isDoorOnRift(world, x, y, z)&&door.isUpperDoorBlock(metadata);
dimTile.orientation = door.getFullMetadata(world, x, y, z) & 7; dimTile.orientation = world.getBlockMetadata(x, y, z) & 7;
dimTile.lockStatus = door.getLockStatus(world, x, y, z); dimTile.lockStatus = door.getLockStatus(world, x, y, z);
} }
} }

View file

@ -29,7 +29,7 @@ public class RenderMobObelisk extends RenderLiving
} }
@Override @Override
public void doRenderLiving(EntityLiving entity, double x, double y, double z, float par8, float par9) public void doRender(EntityLiving entity, double x, double y, double z, float par8, float par9)
{ {
final float minScaling = 0; final float minScaling = 0;
final float maxScaling = 0.1f; final float maxScaling = 0.1f;
@ -39,7 +39,7 @@ public class RenderMobObelisk extends RenderLiving
float aggroScaling = minScaling + (maxScaling - minScaling) * monolith.getAggroProgress(); float aggroScaling = minScaling + (maxScaling - minScaling) * monolith.getAggroProgress();
// Calculate jitter - include entity ID to give Monoliths individual jitters // Calculate jitter - include entity ID to give Monoliths individual jitters
float time = ((Minecraft.getSystemTime() + 0xF1234568 * monolith.entityId) % 200000) / 50.0F; float time = ((Minecraft.getSystemTime() + 0xF1234568 * monolith.getEntityId()) % 200000) / 50.0F;
// We use random constants here on purpose just to get different wave forms // We use random constants here on purpose just to get different wave forms
double xJitter = aggroScaling * Math.sin(1.1f * time) * Math.sin(0.8f * time); double xJitter = aggroScaling * Math.sin(1.1f * time) * Math.sin(0.8f * time);
double yJitter = aggroScaling * Math.sin(1.2f * time) * Math.sin(0.9f * time); double yJitter = aggroScaling * Math.sin(1.2f * time) * Math.sin(0.9f * time);
@ -52,7 +52,7 @@ public class RenderMobObelisk extends RenderLiving
public void render(EntityLiving par1EntityLivingBase, double x, double y, double z, float par8, float par9) public void render(EntityLiving par1EntityLivingBase, double x, double y, double z, float par8, float par9)
{ {
if (MinecraftForge.EVENT_BUS.post(new RenderLivingEvent.Pre(par1EntityLivingBase, this))) return; if (MinecraftForge.EVENT_BUS.post(new RenderLivingEvent.Pre(par1EntityLivingBase, this, x, y, z))) return;
GL11.glPushMatrix(); GL11.glPushMatrix();
GL11.glDisable(GL11.GL_CULL_FACE); GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_LIGHTING);
@ -104,7 +104,7 @@ public class RenderMobObelisk extends RenderLiving
GL11.glEnable(GL11.GL_DEPTH_TEST); GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glDepthMask(true); GL11.glDepthMask(true);
GL11.glPopMatrix(); GL11.glPopMatrix();
MinecraftForge.EVENT_BUS.post(new RenderLivingEvent.Post(par1EntityLivingBase, this)); MinecraftForge.EVENT_BUS.post(new RenderLivingEvent.Post(par1EntityLivingBase, this, x, y, z));
} }
private static float interpolateRotation(float par1, float par2, float par3) private static float interpolateRotation(float par1, float par2, float par3)

View file

@ -0,0 +1,15 @@
{
"crack": {"category":"hostile", "sound":[{"name":"crack","stream":false}]},
"creepy": {"category":"ambient", "sound":[{"name":"creepy","stream":true}]},
"doorLocked": {"category":"player", "sound":[{"name":"doorLocked","stream":false}]},
"doorLockRemoved": {"category":"player", "sound":[{"name":"doorLockRemoved","stream":false}]},
"keyLock": {"category":"player", "sound":[{"name":"keyLock","stream":false}]},
"keyUnlock": {"category":"player", "sound":[{"name":"keyUnlock", "stream":false}]},
"monk": {"category":"hostile", "sound":[{"name":"monk", "stream":false}]},
"rift": {"category":"master", "sound":[{"name":"rift", "stream":false}]},
"riftClose": {"category":"player", "sound":[{"name":"riftClose", "stream":false}]},
"riftDoor": {"category":"player", "sound":[{"name":"riftDoor", "stream":false}]},
"riftEnd": {"category":"player", "sound":[{"name":"riftEnd", "stream":false}]},
"riftStart": {"category":"player", "sound":[{"name":"riftStart", "stream":false}]},
"tearing": {"category":"hostile", "sound":[{"name":"tearing", "stream":false}]}
}