No more Chaos door -> Personal door teleportation
-Repaired Chaos Doors teleporting players to Personal Dimensions, by *actually saving* the personal-door-ids list in the riftregistry to disk. -Added rough method to use GradleStart in Netbeans, however this starts Minecraft in the wrong root directory, so I commented it out for now
This commit is contained in:
parent
9d4ed893a1
commit
49dec20dc4
2 changed files with 26 additions and 4 deletions
|
@ -65,3 +65,6 @@ processResources
|
|||
exclude 'mcmod.info'
|
||||
}
|
||||
}
|
||||
//if (!hasProperty('mainClass')) {
|
||||
// ext.mainClass = 'GradleStart'
|
||||
//}
|
|
@ -77,11 +77,20 @@ public class RiftRegistry {
|
|||
rifts.put(riftID, riftLocation);
|
||||
}
|
||||
}
|
||||
|
||||
if (nbt.hasKey("personalDoorsList")) {
|
||||
NBTTagList persRiftsNBT = (NBTTagList) nbt.getTag("personalDoorsList");
|
||||
for (int i = 0; i < persRiftsNBT.tagCount(); i++) {
|
||||
NBTTagCompound riftTag = persRiftsNBT.getCompoundTagAt(i);
|
||||
int riftID = riftTag.getInteger("riftID");
|
||||
personalDoors.add(riftID);
|
||||
}
|
||||
}
|
||||
|
||||
if (nbt.hasKey("unpairedRiftList")) {
|
||||
NBTTagList riftsNBT = (NBTTagList) nbt.getTag("unpairedRiftList");
|
||||
for (int i = 0; i < riftsNBT.tagCount(); i++) {
|
||||
NBTTagCompound riftTag = riftsNBT.getCompoundTagAt(i);
|
||||
NBTTagList unpRiftsNBT = (NBTTagList) nbt.getTag("unpairedRiftList");
|
||||
for (int i = 0; i < unpRiftsNBT.tagCount(); i++) {
|
||||
NBTTagCompound riftTag = unpRiftsNBT.getCompoundTagAt(i);
|
||||
int riftID = riftTag.getInteger("riftID");
|
||||
unpairedRifts.add(riftID);
|
||||
}
|
||||
|
@ -118,6 +127,14 @@ public class RiftRegistry {
|
|||
}
|
||||
nbt.setTag("riftList", riftsNBT);
|
||||
|
||||
NBTTagList personalDoorsNBT = new NBTTagList();
|
||||
for (int riftID : personalDoors) {
|
||||
NBTTagCompound riftTag = new NBTTagCompound();
|
||||
riftTag.setInteger("riftID", riftID);
|
||||
personalDoorsNBT.appendTag(riftTag);
|
||||
}
|
||||
nbt.setTag("personalDoorsList", personalDoorsNBT);
|
||||
|
||||
NBTTagList unpairedRiftsNBT = new NBTTagList();
|
||||
for (int riftID : unpairedRifts) {
|
||||
NBTTagCompound riftTag = new NBTTagCompound();
|
||||
|
@ -141,7 +158,7 @@ public class RiftRegistry {
|
|||
|
||||
public int registerNewRift(DDTileEntityBase rift, int depth) {
|
||||
Location riftLocation = Location.getLocation(rift);
|
||||
int assignedID = nextRiftID;
|
||||
final int assignedID = nextRiftID;
|
||||
DimDoors.log(this.getClass(), "Starting registering rift as ID: " + assignedID);
|
||||
|
||||
rifts.put(assignedID, riftLocation);
|
||||
|
@ -356,7 +373,9 @@ public class RiftRegistry {
|
|||
public int getRandomNonPersonalRiftID() {
|
||||
List<Integer> nonPersonalRiftIDs = new ArrayList(rifts.keySet());
|
||||
for (int persRiftID : personalDoors) {
|
||||
//DimDoors.log(this.getClass(), "Removing personal rift: " + persRiftID + " from nonPersonalRiftIDs. nPRI size = " + nonPersonalRiftIDs.size());
|
||||
nonPersonalRiftIDs.remove((Integer) persRiftID);
|
||||
//DimDoors.log(this.getClass(), "Removed personal rift: " + persRiftID + " from nonPersonalRiftIDs. nPRI size = " + nonPersonalRiftIDs.size());
|
||||
}
|
||||
if (nonPersonalRiftIDs.size() > 0) {
|
||||
Random random = new Random();
|
||||
|
|
Loading…
Reference in a new issue