Commit graph

662 commits

Author SHA1 Message Date
Mathijs Riezebos
30c86f1e16 Merge remote-tracking branch 'refs/remotes/origin/Teleportation' into 1.10-WIP
# Conflicts:
#	src/main/java/com/zixiken/dimdoors/blocks/BlockDimDoorBase.java
Removed a redundant method
#	src/main/java/com/zixiken/dimdoors/tileentities/DDTileEntityBase.java
Imports going amok
2017-01-19 04:17:00 +01:00
Mathijs Riezebos
ecc9ea39cf Privatized some variables
As a contingency against misuse
2017-01-19 04:13:04 +01:00
Mathijs Riezebos
111f2f9b51 Restructured Teleportation
Reshaped the teleportation implementation in a way so that it fits my
view on the structure. :P
Removed redundant methods
2017-01-19 04:06:13 +01:00
Mathijs Riezebos
987f52049f Insert random nonsensical title here
Removed some superfluous methods
Added stacktrace print whenever TileEntity gets created
2017-01-19 03:20:30 +01:00
Waterpicker
2767e36e2c Current code 2017-01-18 18:43:19 -06:00
Mathijs Riezebos
f93c4e3670 Added connecting rifts
Changed the functioning of and registered the ItemRiftConnectionTool
item.
Repaired a stupid mistake in DDTileEntityBase
2017-01-17 23:39:36 +01:00
Mathijs Riezebos
0c5ef6193c Rift connecting code implemented
Coded the ItemRiftConnectionTool's primary function
2017-01-17 04:18:42 +01:00
Mathijs Riezebos
ad29c72984 Merge remote-tracking branch 'refs/remotes/origin/Tesseract' into 1.10-WIP 2017-01-17 03:14:45 +01:00
Waterpicker
68881e17ce DimDoor and Rift- (re)placement
Main:
Removed "custom" code for DimDoors' Placement and rewrote it
When right-clicking rifts with any Dimensional Door, the game will try to place the Dimensional Door onto the rift.
Rifts will now enherit their properties from broken DimDoors and Dimdoors will enherit their properties from rifts they are placed over.

Other:
Made the DimDoors logger a bit more powerful.
Made RiftRegistry reset on server-load
Created a setup for the RiftConnectionTool Item.

Layout:
Fixed TileEntityRift.java's indentation
Changed some variable names

Authored by Robijnvogel and squashed by Waterpicker.
2017-01-16 20:12:14 -06:00
Waterpicker
9327a33674 New Tesseract Animation for Rift Tile Entitiies. 2017-01-16 20:04:32 -06:00
Mathijs Riezebos
8eea287998 Some cleaning up, some making a mess
Changed the breakBlock method to something a bit more readable
Added some debug logging comments
2017-01-13 10:13:51 +01:00
Mathijs Riezebos
70535a50d5 Merge remote-tracking branch 'origin/1.10' into 1.10
# Conflicts resolved:
#	src/main/java/com/zixiken/dimdoors/blocks/BlockDimDoorBase.java
2017-01-13 09:40:16 +01:00
Mathijs Riezebos
5890211cc8 Trying to get DimDoors to turn into rifts on destruction 2017-01-13 09:37:42 +01:00
Waterpicker
d773db0256 Debug code rendering for rifts. 2017-01-13 02:26:46 -06:00
Waterpicker
8ef079b122 Added some last finishing touches on Dimensional walls.
Added some last finishing touches on Dimensional walls.
2017-01-13 00:49:24 -06:00
Mathijs Riezebos
e1facdbf3b Made Altered fabric work correctly 2017-01-13 00:49:24 -06:00
Mathijs Riezebos
2a4c9ba120 Door-placement- and rift-registering-fixes
-Due to testing, found out that "RiftRegistry.nextRiftID"gets saved and
loaded correctly.

-DimDoors are no longer placeable on leaves or glass (ItemDoorBase.java)
-DimDoors will no longer be placed through left-clicking
(EventHookContainer.java)
-Relocated call to DDTileEntityBase.register() from its constructor to
ItemDoorBase right after the door gets placed. Which means that that
whole constructor and its overrides in other classes are not needed
anymore.
-Added failsafe, so that a DDTileEntityBase that is already registered,
doesn't register again.
2017-01-13 07:45:45 +01:00
Mathijs Riezebos
b61aff025c Auto indented all code
No actual functionality was changed
2017-01-13 03:13:49 +01:00
Mathijs Riezebos
c741d5cd35 Set up actually registering Rifts
Repaired a derp I did in which the Tile Entities did not have a "World"
to get the ID from for the Location to turn into a Location. I needed to
change a lot of constructors to include said "World" as a parameter.

Set up DDTileEntityBase to save after it's paired, registered or
unpaired and actually wrote the readFromNBT and writeToNBT for that.
2017-01-13 03:07:26 +01:00
Mathijs Riezebos
f68c9ec4a2 Connected Rift-Link system to rift registry- and saving- system
Merged functionality of "RiftHandler" class into "RiftRegistry" class
Moved the "Location" class

Why the RiftRegistry couples the Rift ID to the Rift **location** and
the PocketRegistry couples the Pocket ID to the actual Pocket
**instance**:
-Each Rift is a Tile-Entity, which means that it has its infromation can
be stored using the Tile-Entitiy's information saving system.
-Each Pocket is barely more than an information storage container, which
depends on having an external information saving system, which the
PocketRegistry provides for it.
2017-01-13 01:08:21 +01:00
Mathijs Riezebos
5c6fd1d1fa Adapted Save system to WIP changes 2017-01-12 16:00:51 +01:00
Mathijs Riezebos
12f715a4d7 Merge remote-tracking branch 'refs/remotes/origin/master' into WIP 2017-01-12 15:16:22 +01:00
Mathijs Riezebos
204e430be8 Created a backbone for saving DimDoors specific worldsave data 2017-01-12 15:15:53 +01:00
Mathijs Riezebos
ba6bf6be5a Merge remote-tracking branch 'refs/remotes/origin/master' into WIP 2017-01-12 12:44:49 +01:00
Waterpicker
9f7da9b4b8 Fixed DimWall functionality. Shift right disabling not working however. 2017-01-12 05:25:04 -06:00
Mathijs Riezebos
1b2d4ad20a Implementing a way to handle rift-connections 001
Made a start
It doesn't compile yet
2017-01-12 01:11:55 +01:00
Michael Zanga
0624b9f76a "Removed" deprecated code. 2017-01-11 15:27:06 -05:00
Michael Zanga
108a290c93 Unused import... 2017-01-11 14:23:14 -05:00
Michael Zanga
2cb880c6ca Item registration updated. Tweaks to ModelManager. 2017-01-11 14:19:21 -05:00
Mathijs Riezebos
1bd31a5d82 Solved compiler errors
Apparently "worldobj" was changed into "world" since the last Forge
update?
2017-01-11 15:47:37 +01:00
Mathijs Riezebos
3a282486d3 Setup
-Updated Gradle Wrapper and Forge version.
-Setup Netbeans
-Minor changes in MCMod.info
2017-01-11 15:42:29 +01:00
Michael Zanga
6f87336b6f Continued work on 1.10 updates. Block classes mostly done. 2016-12-13 15:57:45 -05:00
Zangamj
22f22f4741 Potentially fixed #10 2016-11-13 17:40:49 -05:00
Waterpicker
35c3d1aae8 It compiles and runs in 1.10.2 2016-11-07 02:56:55 -06:00
Waterpicker
baf6e16620 Knocked out a chunk of updates to 1.10.2 2016-11-06 05:37:21 -06:00
Zangamj
a9019d1d18 New base PocketProvider class 2016-11-05 21:26:27 -04:00
Michael Zanga
03a7fd1b47 Removed IDomDoor's seemingly useless initDoorTE method 2016-11-05 00:44:55 -04:00
Michael Zanga
2b9ca1c7da Added sanity check to updateDoorTE's setting of orientation 2016-11-05 00:42:05 -04:00
Michael Zanga
79f2166c8c (Mostly) clean slate for mod rewrite 2016-10-30 19:42:01 -04:00
zangamj
2ab27633cd Door tile entities are in the top block now.
Fixed 3 block high render.
2016-08-23 17:52:49 -04:00
zangamj
705b2963ee Fixed door rendering on only bottom block 2016-08-22 19:14:29 -04:00
zangamj
a6fdd29bbd Fixed door collisions 2016-08-21 23:14:37 -04:00
Michael Zanga
6cd9fe2760 Fixed DimDoor block bounds. 2016-08-21 14:18:19 -04:00
zangamj
b38393e29e Fixed tile entity duplicates 2016-08-16 17:01:05 -04:00
zangamj
59fddb6116 Can now place doors. 2016-08-15 18:24:58 -04:00
zangamj
7a4acad1a5 Fixed missing model definition errors 2016-08-15 16:15:27 -04:00
zangamj
adb5114b04 Trying to fix model/texture errors.
Need to figure out how to make BlockRift and TransientDoor not try to have models.
2016-08-14 16:02:09 -04:00
Waterpicker
6993b39ae3 It Runs! 2016-08-11 21:40:03 -05:00
Waterpicker
9fe42a2358 Did the bulk of Rendering and a few other things. 2016-08-11 01:26:24 -05:00
zangamj
1e62c62924 Finished ServerPacketHandler, moved to watcher package.
Removed unused PacketConstants class.
2016-08-09 09:57:30 -04:00
zangamj
88078bd228 Finished ObjectSaveInputStream.
Moved it to legacy package and reverted OldSaveImporter's name change.
2016-08-09 09:29:57 -04:00
Michael Zanga
e7e42316ad Finished EventHookContainer. 2016-08-08 11:29:51 -04:00
Michael Zanga
6ec1d0d6a0 Removed some extra imports that were "refactored in" by IntelliJ. 2016-08-08 11:01:16 -04:00
Michael Zanga
cd904e9d96 Udated and moved legacy support code (DimData, LinkData, OldSaveImporter) to their own package.
Gave them better names, renamed NewDimData to DimData since it's no longer new.
2016-08-08 10:53:01 -04:00
Waterpicker
d28c48c3c7 Did another massive chunk of changes
And still many more to got through. Sigh.
2016-08-08 01:41:03 -05:00
zangamj
0174899d2e Finished DDLoot. 2016-08-05 11:53:15 -04:00
zangamj
23e57a9cca Finished CraftingManager. 2016-08-05 10:49:05 -04:00
zangamj
1ee1583a06 Finished CloudRenderBlank. 2016-08-05 10:21:38 -04:00
zangamj
c753535e0f Finished BlankTeleporter? 2016-08-05 10:20:08 -04:00
zangamj
c319f79aa8 Finished ItemWorldThread. 2016-08-05 10:14:49 -04:00
zangamj
96abeb5f33 Finished ItemWarpDoor. 2016-08-05 10:01:56 -04:00
zangamj
fb8f71929b Finished ItemUnstableDoor. 2016-08-05 09:59:17 -04:00
zangamj
6ab572ee6f Finished ItemStableFabric. 2016-08-05 09:54:21 -04:00
Michael Zanga
68827ae9d1 Finished ItemStabilizedRiftSignature. 2016-08-04 14:39:43 -04:00
Zixiken
01aa91d48b Rename itemRiftRemover.java to ItemRiftRemover.java
Not sure why this hasn't applied on GitHub
2016-08-04 13:44:51 -04:00
Michael Zanga
d1b8124461 Slight change to ItemRiftRemover.
Don't know if this works the same way, but it avoids some casting down the hierarchy.
2016-08-04 12:28:34 -04:00
Michael Zanga
8fd609db13 Finished ItemRiftSignature. 2016-08-04 12:17:15 -04:00
Michael Zanga
e660e40f90 "Finished" ItemRiftRemover. Probably needs bug fixing later. 2016-08-04 11:18:51 -04:00
zangamj
6f2d0a9018 Finished ItemRiftBlade. 2016-08-03 15:44:21 -04:00
zangamj
1fd82190b5 Finished ItemQuartzDoor. 2016-08-03 14:10:08 -04:00
zangamj
3d38ee1c08 Finished ItemPersonalDoor. 2016-08-03 13:52:44 -04:00
zangamj
4a4a1693a8 Finished ItemGoldDoor. 2016-08-03 11:37:30 -04:00
zangamj
cce72994c2 Finished ItemGoldDimDoor. 2016-08-03 11:20:04 -04:00
zangamj
a046508e45 Finished ItemDimensionalDoor. 2016-08-03 11:15:34 -04:00
zangamj
31fe99fdbc Finished rift block and DDKey item rendering. 2016-08-03 11:02:06 -04:00
Michael Zanga
17e9921bb4 Finished ItemDDKey.
Refactored render manager since it only handles items.
2016-08-02 15:32:28 -04:00
Michael Zanga
0735aa7722 Finished DispenserBehaviourStabilizedRS. 2016-08-02 14:47:53 -04:00
Michael Zanga
0077a1860d Finished BaseItemDoor. 2016-08-02 14:47:20 -04:00
Michael Zanga
0756e94e01 Nearly finished BaseItemDoor, need to find placeDoorBlock method. 2016-07-29 16:44:30 -04:00
Michael Zanga
cecdc7c12c Finished WarpDoor. 2016-07-29 09:43:12 -04:00
Michael Zanga
07d6a1f120 Finished UnstableDoor, fixed a typo.
UnstableDoor's lower texture is the same as an iron door.
2016-07-29 09:24:59 -04:00
Michael Zanga
8e26caa13f Finished TransTrapdoor? 2016-07-22 15:40:00 -04:00
Michael Zanga
bce429e17e Started on TransTrapdoor.\nThese may need fixing later; trapdoors lost some functionality since 1.7.10 2016-07-21 16:57:56 -04:00
Michael Zanga
b1fa82fc63 Finished TransientDoor.
Better sanity check in BaseDimDoor.
2016-07-21 10:58:50 -04:00
Michael Zanga
d36bc87a6a Finished PersonalDimDoor.
Removed iron door jsons since they're now unnecessary
2016-07-21 10:16:00 -04:00
zangamj
6480fb386c Finished DimensionalDoor 2016-07-20 14:32:03 -04:00
zangamj
863f5644e0 Finished BlockRift 2016-07-20 11:33:37 -04:00
Waterpicker
a1254ae8d5 Fixed Network and TileEnties 2016-07-16 06:21:55 -05:00
zangamj
bdf7532b14 Finished BlockLimbo.
There are extra texture files for limbo blocks that appear unused; I left
them in case I'm wrong.
2016-07-13 12:14:33 -04:00
zangamj
881ead8acf Finished BlockGoldDimDoor. Removed gold dim door textures since they are identical to gold door textures. 2016-07-13 11:35:47 -04:00
zangamj
989c917515 Finished BlockDoorQuartz 2016-07-12 14:03:40 -04:00
Michael Zanga
89e609add0 Finished BlockDoorGold 2016-07-12 11:18:02 -04:00
Michael Zanga
18a4af015b Finished BlockDimWallPerm 2016-06-28 10:33:14 -04:00
Michael Zanga
201e7d46b7 Finished blockDimWall 2016-06-28 09:52:21 -04:00
zangamj
8e6626e46a Progress on BlockDimWall and its respective ItemBlock. 2016-06-24 16:43:59 -04:00
Waterpicker
09eb9ab48d I might gone overboard with how deep I went this time. 2016-06-24 00:38:41 -05:00
zangamj
1b87445f8a Finished BaseDimDoor. 2016-06-21 20:59:56 -04:00
Waterpicker
dec10296a5 Did a bit updating. 2016-06-21 11:28:28 -05:00
zangamj
563c950c17 More work on BaseDimDoor. Corrected mistake in CommonProxy. 2016-06-18 19:10:31 -04:00
zangamj
e6cc4c292f Began work on BaseDimDoor. Copied relevant json files for door blockstates and models. 2016-06-18 13:02:36 -04:00
zangamj
4f94735c79 Finished changes to ClientProxy 2016-06-18 12:28:16 -04:00
zangamj
88a5f573a0 Main mod file and CommonProxy finished, ClientProxy almost done.
Need to research mob rendering to finish.
2016-06-16 14:05:30 -04:00
zangamj
45d6de97d3 More work done 2016-06-16 10:41:19 -04:00
zangamj
30a79a8423 Begin work on refactoring and 1.8.9 updates 2016-06-15 15:03:28 -04:00
Stephen Baynham
ecf7fd12f1 Increment version 2015-07-21 20:17:11 -04:00
Stephen Baynham
cd70c1b20b Forgot this 2015-07-21 20:16:17 -04:00
Stephen Baynham
caca861c7b Fixes #35
If there is a problem reading the blacklist file from disk, previously,
null would be returned from the DDSaveHandler.readBlacklist method.  This
would result in a crash later on down the line when we tried to iterate
the blacklist.  Now we return an empty array.  I'd like to be able to
diagnose the issues causing the blacklist file to be corrupted, but
unfortunately when this issue crops up, people only post the crash :(
2015-07-21 20:09:51 -04:00
Stephen Baynham
5e7cb14219 Fixes #22
If the server disconnected you due to a timeout or whatever, the pocket
manager would appropriately unload all dimension & pocket data, but it
would do so moments before the world unloaded, meaning that entities would
sometimes, on update or as part of their renderer, attempt to access the
dimensional data.  This places a new guard condition that attempts to stop
that from crashing the client.
2015-07-21 19:57:29 -04:00
Stephen Baynham
c15e4253e8 Stop a launch crash.
Check whether pocket data is loaded before attempting to pull dimension
data.
2015-07-21 19:49:40 -04:00
Stephen Baynham
dacc736508 Fixes #18
On startup, existing sub-dimensions of personal dimensions were being
given the wrong worldprovider by the launch code.  The reason for this is
that subdimensions are not added to the player -> dimension mapping for
personal dimensions, because there is only one canonical "personal"
dimension.  The launch code was using presence or absence in the mapping
to determine whether a dimension is personal, rather than the dimension
type.  This is now fixed.
2015-07-21 19:48:18 -04:00
Stephen Baynham
27d17d86a1 New guard condition in genreateLightBrightnessTable()
Some users were reporting very sporatic crashes in
generateLightBrightnessTable() when the server was starting up.  It's
possible that very occasionally, the server will register the pocket
dimension before any pocket dimension data is initialized, forcing the
light brightness table to get generated server side with bad values.
2015-07-21 19:01:36 -04:00
Stephen Baynham
7a82abf182 Moved network infrastructure over to the simplenetworkwrapper. 2015-07-21 18:42:25 -04:00
Stephen Baynham
337f0240a6 Added a few guard conditions to shutdown code.
In some cases (such as another mod crashing on startup or something), the
server shutdown even was getting called before anything was actually
initialize.  In these cases, some uninitialized objects were having
cleanup methods called on them, when they were null.  There are now guard
conditions to prevent the resulting NPE's.
2015-07-21 18:31:33 -04:00
CannibalVox
e0ffcaa98d Assuming implementation details don't match the contract is no. 2015-07-19 10:23:02 -04:00
Steve
2dea8e1a13 added check to see if dimension already registered
-this stops errors on player logout and login without shutting down
client.
2015-07-19 10:14:56 -04:00
Steve
2b411ce4cf Fix crash on exiting personal pocket dimension
-changed unload() function to tryunload() to quiet shutdown error
messages. If using unload() was intentional, don't do this.
2015-07-19 10:13:04 -04:00
CannibalVox
d91ad394cb Make personal links always send players to their own personal dimension. 2015-03-19 19:51:54 -05:00
CannibalVox
91f96c825c Don't try to check a dim type before we have dim data. Relight dimension
when we get it.
2015-03-17 11:25:11 -05:00
CannibalVox
d01bbb488e Don't crash in SMP when using key 2015-03-17 10:40:03 -05:00
CannibalVox
44a0d4b3ec Correct various weirdness with personal doors in pocket dimensions 2015-03-15 22:19:13 -05:00
CannibalVox
bb2525d94e Moved the onlogin network message to do what it should have been doing 2015-03-12 12:16:39 -05:00
CannibalVox
7e8b682c23 Unload dimensions on discon, don't freak out on TE load if dimensions
aren't there
2015-03-12 11:33:33 -05:00
CannibalVox
6651559793 I MIGHT have copy/pasted this from starmall. 2015-03-12 11:12:51 -05:00
CannibalVox
d210b9b91c Register the dimensions early in the connection process so we can actually
log in and stuff.
2015-03-12 10:55:30 -05:00
CannibalVox
4f7e7a6925 Merge branch 'master' of github.com:CannibalVox/DimDoors 2015-03-12 06:36:54 -05:00
CannibalVox
41c88d1904 Personal dim door should require quartz doors, not gold doors. 2015-03-12 06:36:36 -05:00
DragonsLover
74ac7e5e6f Adding French Canadian language 2015-03-11 17:08:25 -04:00
TheVikingWarrior
79f60fb425 Create it_IT.lang 2015-03-11 17:09:30 +01:00
CannibalVox
ed91e3161f Merge branch 'master' of github.com:CannibalVox/DimDoors 2015-03-11 09:29:25 -05:00
CannibalVox
4bb42971c8 A bunch of blocks weren't properly rift-immune because they weren't
initted yet
2015-03-11 09:28:59 -05:00
Mrkwtkr
a4c1d3aa70 Create zh_CN.lang
:P
2015-03-11 21:29:01 +08:00
CannibalVox
6907350f00 Personal links set a destination for annoying cruft reasons. Easier to
ignore it when someone is generating a personal dim than fix that.
2015-03-11 08:22:24 -05:00
CannibalVox
ec180f46f0 Merge branch 'master' of github.com:CannibalVox/DimDoors 2015-03-11 07:46:10 -05:00
CannibalVox
d2c8877c26 Give personal dims the right provider on client-side 2015-03-11 07:45:51 -05:00
Cannibal Vox
66ac4d8512 Merge pull request #1 from Adaptivity/patch-1
Create ru_RU.lang
2015-03-11 01:42:16 -05:00
Vexatos
45b89abe90 Create de_DE.lang 2015-03-11 07:10:32 +01:00
Anton
8acbada3ba Create ru_RU.lang 2015-03-11 07:55:59 +03:00
CannibalVox
1464638fff Fixed SSP- stop the network code from doubling up adds/deletes 2015-03-10 16:59:34 -05:00
CannibalVox
af0d1450a4 SMP crash on rift creation 2015-03-10 13:57:11 -05:00
CannibalVox
0c70b0760b This event appeared to be unnecessary and was jacking up SSP 2015-03-10 13:44:00 -05:00
CannibalVox
8d282cb021 Decided to actually plug in the network. idea copyright olloth 2015 2015-03-10 13:13:26 -05:00
CannibalVox
43e67bdbd3 Don't crash server on startup trying to use sounds 2015-03-10 10:48:36 -05:00
CannibalVox
585b0685d0 Fixed a lot of WAILA weirdness 2015-03-10 10:36:39 -05:00
CannibalVox
e5af4f5964 Fixed some keyhole texture case sensitivity thing- also let's not use the
build output resources folder as a dumping ground for textures, thanks.
2015-03-10 09:39:14 -05:00
CannibalVox
8073ee6a32 Localize ALL THE THINGS! 2015-03-10 08:57:08 -05:00
CannibalVox
6aeed2c0e5 Fix version 2015-03-10 05:50:49 -05:00
CannibalVox
f9addaf115 Update these field names 2015-03-10 05:17:09 -05:00
CannibalVox
e15bfbd2d1 Some tweaks to the monolith- make it look great. 2015-03-10 04:28:31 -05:00
CannibalVox
7c11003686 Key monolith behavior in to config file 2015-03-10 04:20:29 -05:00
CannibalVox
c72a03b558 Fixed limbo music 2015-03-10 04:03:45 -05:00
CannibalVox
07a986d39d Remove the procedural stuff more completely 2015-03-10 03:50:50 -05:00
CannibalVox
ff890fe7b6 If obelisks are just going to watch in limbo, make them act like that 2015-03-10 03:49:59 -05:00
CannibalVox
d4ff48435c Remove poly2tri because it's for stuff that never got finished 2015-03-10 03:29:42 -05:00
CannibalVox
c46e08c76e Make parts other than the monolith eye visible 2015-03-10 03:24:02 -05:00
CannibalVox
8368c55478 Obelisk eyes don't draw through walls now 2015-03-10 02:56:42 -05:00
CannibalVox
2ca661cc45 Fixed decay trying to decay limbo blocks then crashing 2015-03-10 02:56:18 -05:00
CannibalVox
42a04ff156 Fix sounds for 1.7 2015-03-10 02:55:15 -05:00
CannibalVox
198d1ac56f Remove the procedural rift rendering 2015-03-09 16:10:02 -05:00
CannibalVox
8c30d67ba2 Where'd that ++ come from? That shouldn't be there. 2015-03-09 16:09:35 -05:00
CannibalVox
394495baa6 Migrated the dungeons to 1.7 2015-03-09 16:07:48 -05:00
CannibalVox
735b06ded2 Forgot to register block rotations 2015-03-09 10:36:25 -05:00
CannibalVox
e47e9597ac Fix rotation issue for dimdoors 2015-03-09 09:35:06 -05:00
CannibalVox
76d2f20f5d Fix rifts not rendering, fix rifts not closing, door blocks not synched 2015-03-09 03:36:56 -05:00
CannibalVox
4d26a2ec31 Initial rendering fix for rifts 2015-03-08 17:46:42 -05:00
CannibalVox
22654722b6 Turns out items have to be registered now & other spot fixes 2015-03-07 02:20:06 -06:00
CannibalVox
5ef42b6bd3 Apparently biome 149 is taken by minecraft 2015-03-07 01:49:46 -06:00
CannibalVox
f78fadd8a8 I think this is how you use forgemessages(???) 2015-03-07 01:45:12 -06:00
CannibalVox
db92637ea3 Finally got the AT working 2015-03-07 01:34:17 -06:00
CannibalVox
89f256af09 Need to actally update this build script. 2015-03-06 21:05:43 -06:00
CannibalVox
6457c562a6 Fix schematics & add TE sync 2015-03-06 20:57:05 -06:00
CannibalVox
a0cf769bda More schematic fixes 2015-03-05 15:52:15 -06:00
CannibalVox
43c606c687 Some schematic fixes 2015-03-05 15:47:06 -06:00
CannibalVox
2a5774d477 Updated most of the networking code... a lot of it is probably broken
still
2015-03-05 15:28:37 -06:00
CannibalVox
c075079630 Fix sounds & last of the low-hanging fruit 2015-03-04 04:09:48 -06:00
CannibalVox
fe40edf200 More low-hanging fruit. 2015-03-04 01:10:39 -06:00
CannibalVox
63b0547069 Update low-hanging fruit to 1.7.10 2015-03-04 00:43:28 -06:00
StevenRS11
7b77b268bf rift render growth and removal 2014-08-21 18:42:24 -05:00
StevenRS11
910f991734 render color final 2014-08-20 22:55:29 -05:00
StevenRS11
a55fdbfd0f rift render canidate 2014-08-20 21:44:16 -05:00
StevenRS11
0dd1f1b293 more changes 2014-08-20 17:15:04 -05:00
StevenRS11
dc7a19c2f3 render effect iteration 2014-08-20 16:58:52 -05:00
StevenRS11
04ec4b3d2d jitter together! 2014-08-19 18:50:18 -05:00
StevenRS11
68ff8f6921 Added triangulation library and rift render
Major change is addition of fractal rift rendering, currently first
pass.

Curves are registered and pregenerated in mod_pocketDim.

Rifts look up these curves, choose one, rotate it, and render it.

The render is a TESR that does stuff. Hard to explain, look at
RenderRift in the code and look at the actual rifts in game to get an
idea of what it does.

I had to add a triangulation library to accomplish this. Will hopefully
do something else  that drag around all this.

(I tried(and used comments))
2014-08-19 17:36:07 -05:00
StevenRS11
499c7d91d8 Formatting change
Aformentioned merge wouldnt commit for some reason

PLEASE REVIEW THIS AND THE PREVIOUS COMMIT
2014-07-16 10:41:27 -05:00
StevenRS11
7c7129914a Merging murder 2014-07-16 10:24:24 -05:00
SenseiKiwi
20db828ac0 Fixed Crash on Rift Removal
Fixed a crash from manipulating rift data on the client side. I let this
happen because it seemed like TileEntityRift already did that before.
This crash also exposed another issue: that server-side functions are
being used on the client side. I'm not sure how pervasive this is but
some client dimensions are being constructed with the server-side
constructor.
2014-07-15 14:51:46 -04:00
SenseiKiwi
e793493331 Fixed Eager Dimension Data Creation
1. Fixed a design flaw in PocketManager. We originally assumed that all
requests to PocketManager.getDimensionData() had to be legitimate
requests for dimensions that existed. That was true in most cases, but
for things like processing user commands, it was dangerously optimistic.
It was possible that a flaw in DD's usage of that function could be
exploited by a player to trick the mod into pre-registering dimension
data for a non-existent dimension. That would declare the dimension as a
root. DD would crash later if Forge ever allocated that ID for a pocket
dimension. The new implementation is almost the same as the old one, but
allows us to differentiate between cases when we can eagerly create
dimension data, and cases in which the absence of a dimension should
cause a crash to alert us of a design flaw.
2. Remove the pocket regeneration code from PocketBuilder. We simply
don't support pocket regeneration and it's unlikely it'll ever be
implemented because it's a difficult issue. Wiping out pockets
completely is easier. We can always recover the code from this commit if
it's needed later.
3. Minor changes: removed some debug prints from PocketManager and
changed some static accesses in PocketBuilder.
2014-07-13 20:03:00 -04:00
SenseiKiwi
8544aa17ee Fixed Crash on World Creation
Fixed an issue. DD would crash when MC created a completely new world
because onChunkLoad() would be called before onWorldLoad(). That's not
the usual order. PocketManager would be unloaded at that point and would
return a null dimension.
2014-07-13 14:22:23 -04:00
SenseiKiwi
b20a0a74d2 Minor Change
Autocorrected indentation in PocketManager. I'll be working on changing
PocketManager to prevent the risk of creating data for a non-existent
dimension through a bad call to getDimensionData().
2014-07-13 07:17:30 -04:00
SenseiKiwi
fb1713ae0e Improvements to TileEntityRift
Made some improvements to TileEntityRift. The main reason for these
changes was to remove the field nearestRift - we should not hold on to
references to links. Now we simply track the location of the nearest
rift. I also confirmed that closeRift() and updateNearestRift() must be
allowed to run on both the client and the server. If the client doesn't
run those functions, then adjacent rifts don't connect as expected and
the rift removal animation doesn't work.
2014-07-12 03:36:56 -04:00
SenseiKiwi
2c7435585d Minor Changes
Removed a pointless check in yCoordHelper and corrected some comments in
RiftRegenerator. It turns out that ChunkProviderServer.chunkExists()
returns whether a chunk is loaded, not whether it has already been
created.
2014-07-11 15:44:01 -04:00
SenseiKiwi
107aa4b7f2 Cleaned up Transdimensional Trapdoor Code
Removed unnecessary code for the Transdimensional Trapdoor. Most of it
was code dedicated to updating TileEntityTransTrapdoor.hasRift. That
flag was never used for anything.
2014-07-11 04:33:19 -04:00
SenseiKiwi
1bf1f4f78c Improved Regeneration Code
1. Added code so that Transdimensional Trapdoors detect that they have
been broken and schedule rift regeneration at their location. This had
previously been neglected. Trapdoors deserve a little more attention.
2. Tweaked the breakBlock() code for BlockRift and BaseDimDoor so that
rift regeneration is only scheduled if the underlying block was removed.
We don't want that to happen if the only change was for metadata.
2014-07-11 04:10:12 -04:00
SenseiKiwi
29c8a09218 Improved Door Code
1. Removed code from BaseDimDoor that was already implemented almost
identically in BlockDoor. Clarified some uses of setBlock() by changing
them to setBlockToAir() instead.
2. Removed TileEntityDimDoor.invalidate() and moved the regeneration
scheduling code to BaseDimDoor.breakBlock(). I would prefer to move away
from overriding the invalidate() method. This also simplifies the code
since we don't need to perform some of the checks we had in
breakBlock().
2014-07-11 03:44:26 -04:00
SenseiKiwi
71e7fdaafc Implemented Regeneration for BlockRift
1. Made it so that rifts regenerate when rift blocks are replaced by
other blocks.
2. Changed the rift regeneration scheduling functions to streamline
their use in other classes. Common code that was needed to validate
links before calling those functions has been moved into them so that
the checks are always performed internally.
2014-07-11 03:26:40 -04:00
SenseiKiwi
1f59dc17d9 Implemented Scheduled Rift Regeneration
1. Implemented scheduled rift regeneration in RiftRegenerator. The
previous randomized selection algorithm has been removed completely. All
regeneration is scheduled now. We perform numerous checks to make sure
that regenerating a rift is safe.
2. Removed FastRiftRegenerator as RiftRegenerator performs roughly the
same task but with more flexibility. Updated TileEntityDimDoor to use
RiftRegenerator instead for creating rifts when doors are broken.
3. Modified EventHookContainer to receive the chunk loaded event. We
iterate over the list of links in a loaded chunk and schedule them for
regeneration.
4. Reorganized the code in BlockRift. Divided the list of immune blocks
into two lists - one for DD blocks and one for regular MC blocks.
RiftRegenerator has to be able to distinguish between the two types.
5. Factored out some duplicate code from ItemRiftSignature and
ItemStabilizedRiftSignature. Most of the block immunity checks were used
to check if it would be safe to spawn a rift when using one of those
items. BlockRift.tryPlacingRift() covers all that logic in a single
function and makes the item code a little simpler.
2014-07-11 01:21:43 -04:00
SenseiKiwi
79bd5102ba Minor Changes
Minor changes to DimLink to simplify DimLink.getDestinationOrientation()
and to clarify the output of DimLink.toString() when no destination is
available.
2014-07-10 18:29:48 -04:00
SenseiKiwi
b197237dfd Minor Change
Rewrote the NewDimData.deleteLink() version that would accept x, y, and
z as parameters. There was some redundant code for getting the
parameters from a Point4D instance just to create another one to find
the target link. Now we pass the source point in directly.
2014-07-10 18:25:41 -04:00
SenseiKiwi
85ff28298e Implemented Chunk-Links Mapping
Implemented support for tracking the list of links in each chunk in a
dimension. This will be used for scheduling rift regeneration when
chunks load.
2014-07-10 18:21:10 -04:00
SenseiKiwi
782c6d5e50 Minor Changes to NewDimData
Made some minor changes to NewDimData. Fixed some comments for the rift
search functions that incorrectly indicated the search would not detect
rifts adjacent to the center of the search range. That behavior changed
some time ago. Also added an unused field called "chunkMapping" for
associating chunks with lists of links. It'll be used for implementing
queuing of rift regeneration when chunks load.
2014-07-10 17:13:10 -04:00